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 Technical / Map Design »Has anyone else noticed this problem with ai?

Author Topic: Has anyone else noticed this problem with ai? (25 messages, Page 1 of 1)
Moderators: Dennis

Merkatroyd
Joined: Feb 4, 2009


Posted: Apr 24, 2009 08:42 PM    Msg. 1 of 25       
I am putting ai into my map, but I noticed, after downloading other people's maps with ai in them, that in multiplayer servers, ai are sometimes not simultaneously on both the host's and the player's computer.

for instance, I could get beaten up by an ai, but the ai would be invisible becuase it technically would not "exist" on my computer, and only on the host's.

Or, an ai would try and shoot me, but the bullets would have no effect, because the ai does not exist on the host's computer.

OR, I could try to kill an ai, but the ai would not die because it does not exist on the host's computer.

Is there a way around this? or is this just a rare glitch I found?


Nexus Halo
Joined: Feb 24, 2007

Halo's Dark Knight http://www.nexushalo.kk5.org/


Posted: Apr 24, 2009 08:53 PM    Msg. 2 of 25       
Quote: --- Original message by: l283023
AI do not sync.


There's no way around making them sync either.


Polamee
Joined: Feb 25, 2008

MP2SPMT's founder


Posted: Apr 25, 2009 05:56 AM    Msg. 3 of 25       
Quote: --- Original message by: Dennis
NO. AI do not sync under any circumstances. Period. End on line. It is technically impossible for them to sync. AI do not sync. AI do not sync. AI do not sync. Nothing you can do with the game engine will make them sync. AI do not sync in multiplayer games in Halo 1, CE or Halo 2. Remember this sentance: AI do not sync.


ODST Mendosa
Joined: Mar 23, 2009

MHMS (Modern Halo Mapping\ Modding Sydicate)


Posted: Apr 25, 2009 06:47 PM    Msg. 4 of 25       
How do ya do that? Please tell me.


RougeSpartan414
Joined: Sep 24, 2007

Angatar, the Iron-Father.


Posted: Apr 25, 2009 06:53 PM    Msg. 5 of 25       
It doesn't matter, AI will still not sync.


sierra117
Joined: Jan 10, 2008

If sex is good exercise, why are there fat sluts?


Posted: Apr 25, 2009 08:06 PM    Msg. 6 of 25       
but you would have to remove the firing positions since the ai would be moving in different places on each screen. But then the people would randomly die since the ai would be shooting different players aswell. Thats the closest i can think of. But even then its not even close by FFFAAARRR....
so AI DO NOT SYNC


sierra117
Joined: Jan 10, 2008

If sex is good exercise, why are there fat sluts?


Posted: Apr 25, 2009 08:32 PM    Msg. 7 of 25       
meh good point.


Mythril
-
Screenshot Guru
-
Joined: Mar 29, 2008

Jeffrey Albert Waldo


Posted: Apr 25, 2009 09:27 PM    Msg. 8 of 25       
The AI would move differently on each computer.

Even if you restarted the game everytime someone joined. It would sync for perhaps a few seconds, and then the AI would scatter. Unless you stopped them moving, then they still fire at different locations.


kirby_422
Joined: Jan 22, 2006

Apparently public enemy number 1?


Posted: Apr 25, 2009 09:51 PM    Msg. 9 of 25       
Quote: --- Original message by: Mythril
The AI would move differently on each computer.

Even if you restarted the game everytime someone joined. It would sync for perhaps a few seconds, and then the AI would scatter. Unless you stopped them moving, then they still fire at different locations.

Exactly. The reason they are called AI is because INTELEGENTS.. they dont do the same thing everytime. So, even though they start at the same part, they will imidiatly move to differnt places using their INTELEGENTS because they are ARTIFICAL INTELEGENTS.

you could overlag your server by making every AI constnatly have a vehicle attach, detach, then attach the AI to the vehicle and detach from it (then since the vehicles location would sync, it would force the AI into acleast the same place, even though it would be fireing at differnt enemies, and then just force this vehicle outside the map when the AI is dead so that he acleast is acting dead on all screens)


Polamee
Joined: Feb 25, 2008

MP2SPMT's founder


Posted: Apr 26, 2009 01:06 AM    Msg. 10 of 25       
No. That will only sync if you have ultrastupid AI. AI have variables in combat, meaning that when faced with a certain situation, the AI will have several choices on what to do. For example, you step in front of a Jackal. The Jackal can (stupidly enoguh) choose to keep stading there and firing, or roll to its side, or back away to a firing position. Its possible that this will be different on each comp, so chances are that if there are 3 players, one will see the Jackal keep still, the other will see the Jackal move back, and the last will see the Jackal roll over.

Furthermore, the thing Gamma did was to use the 'ai_place' command to spawn the AI. I don't think AI placement syncs.


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Apr 26, 2009 12:51 PM    Msg. 11 of 25       
Quote: --- Original message by: Polamee
No. That will only sync .
AI do not sync under any circumstances. The universe is not made up of crystal spheres, the world is not flat and AI will not sync in a Halo 1/CE multiplayer game regardless of what people think, believe or tell you.


Polamee
Joined: Feb 25, 2008

MP2SPMT's founder


Posted: Apr 27, 2009 09:16 AM    Msg. 12 of 25       
Quote: --- Original message by: Dennis
Quote: --- Original message by: Polamee
No. That will only sync .
AI do not sync under any circumstances. The universe is not made up of crystal spheres, the world is not flat and AI will not sync in a Halo 1/CE multiplayer game regardless of what people think, believe or tell you.


Well, if you had AI forced to run on fixed command lists at the same time in the same manner and loop that, it would 'sync', meaning that all the people on the screens will see the AI running to their postitions because there are no variables. When initiative is allowed to the AI, it will not sync.


Mysterion
Joined: Aug 9, 2008

Nice shot, but too bad your @$$ just got SACKED!!!


Posted: Apr 27, 2009 02:37 PM    Msg. 13 of 25       
AI will not sync between host and client, however, there may be some methods, commands and scripts to make them "appear" to conduct the same routine on both the host and client computers. I believe that this is as close as you will ever come to what you are looking for.

Orphaned bipeds or whatever you want to call them are typically left behind when the AI spawn, and if there was some way to rid the map of these bipeds, it would make things work much more smoothly. AI actor varients immediately try killing these orphaned bipeds, which effects the play quality of the map.

It's my understanding that there's some way to spawn the AI in some hidden area of a map, then teleport them to the play area, leaving the bipeds behind in the hidden area. I have not, however, found the format for this AI script yet.


RougeSpartan414
Joined: Sep 24, 2007

Angatar, the Iron-Father.


Posted: Apr 27, 2009 04:45 PM    Msg. 14 of 25       
Quote: --- Original message by: l283023
AI do not sync because they do not represent where the AI actually are.
But by recreating them, they will respawn at the exact place that they were initially created.
Unfortunately, you would have to respawn the AI everytime a new player joins.

Just saying "It doesn't matter, AI will still not sync." is ignorant, unless you have tryed it yourself.

Actually, I am correct. The AI on your computer will act differently than mine, so it is out of sync. It is not possible, so get over it.


PVT Jenkins
Joined: Feb 23, 2009

Advance!!!!!


Posted: Apr 27, 2009 05:55 PM    Msg. 15 of 25       
Quote: --- Original message by: Dennis
Quote: --- Original message by: Polamee
No. That will only sync .
AI do not sync under any circumstances. The universe is not made up of crystal spheres, the world is not flat and AI will not sync in a Halo 1/CE multiplayer game regardless of what people think, believe or tell you.

Ughhh Crystal spheres


Gamma927
Joined: Jun 12, 2008

Steam: gamma927


Posted: Apr 27, 2009 06:27 PM    Msg. 16 of 25       
Quote: --- Original message by: Mysterion
AI will not sync between host and client, however, there may be some methods, commands and scripts to make them "appear" to conduct the same routine on both the host and client computers. I believe that this is as close as you will ever come to what you are looking for.

Orphaned bipeds or whatever you want to call them are typically left behind when the AI spawn, and if there was some way to rid the map of these bipeds, it would make things work much more smoothly. AI actor varients immediately try killing these orphaned bipeds, which effects the play quality of the map.

It's my understanding that there's some way to spawn the AI in some hidden area of a map, then teleport them to the play area, leaving the bipeds behind in the hidden area. I have not, however, found the format for this AI script yet.


The command usually used to teleport players or objects is

(object_teleport [object] [flag])


However, this doesn't teleport an entire AI encounter. The command that I found that was closest is:

(ai_teleport_to_starting_location [ai])


This isn't what you want, however. The best way you can do this, is to create a bunch of bipeds, attach them to an AI encounter, and teleport them individually. That way, "orphaned" bipeds will not appear.


Mysterion
Joined: Aug 9, 2008

Nice shot, but too bad your @$$ just got SACKED!!!


Posted: Apr 27, 2009 10:06 PM    Msg. 17 of 25       
Is there anyway to have starting locations within a trigger volume, then teleport any AI in that trigger volume to a different location on the map, leaving the bipeds there?


Gamma927
Joined: Jun 12, 2008

Steam: gamma927


Posted: Apr 27, 2009 10:24 PM    Msg. 18 of 25       
No. There are commands to check whether a player isn't inside of a trigger volume though.


Mysterion
Joined: Aug 9, 2008

Nice shot, but too bad your @$$ just got SACKED!!!


Posted: Apr 27, 2009 10:41 PM    Msg. 19 of 25       
Since a biped is a unit, how about a command that checks for a unit in a trigger volume, and teleports it out of the play area?


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Apr 28, 2009 03:08 PM    Msg. 20 of 25       
Quote: --- Original message by: PVT Jenkins
Ughhh Crystal spheres
It is a reference to Aristotle and how he perceived the universe. It was wrong then as it is now although many people believed it. The same is true for thinking or believing that you can have AI Sync in a Halo CE multiplayer game. You can’t. Period. No partial syncing, no scripting no way no how. AI do not sync in a multiplayer game.


Me KS
Joined: Feb 2, 2008

Desire is Reality. Xfire: jetmaster23


Posted: Apr 28, 2009 06:33 PM    Msg. 21 of 25       
Quote: --- Original message by: Gamma927
However, this doesn't teleport an entire AI encounter. The command that I found that was closest is:

(ai_teleport_to_starting_location [ai])



Well, it's true that you can't teleport an entire encounter with any single command. But, you can teleport individual AI bipeds whether they're named or not as long as they're in an encounter:

(ai_actors [ai])
converts an ai reference to an object list.

So, if you want to teleport an unnamed AI biped, you could. It's similar to the way you refer to a player using "list_get" because just like the "players" variable returns an object list, so does "ai_actors". So you can use "list_get" to fish out one of the objects to refer to out of that list.

(list_get (ai_actors [ai]) #)

So you could teleport biped number "0" from the encounter and squad "ai/dont_sync" to the flag "teleport" like this:

(object_teleport (list_get (ai_actors ai/dont_sync) 0) teleport)

Quote: --- Original message by: Gamma927
No. There are commands to check whether a player isn't inside of a trigger volume though.


And just like you can teleport AI bipeds, you can check for them being in a trigger volume. In fact, you can check for an entire encounter or squad at once with "ai_actors". Since "ai_actors" returns an object list, it can be used the same way as "players" in the "object_list" argument of "volume_test_objects".

(volume_test_objects [volume] (ai_actors [ai]))

So, with the same encounter and squad and a trigger named "trig" it would look like this:

(volume_test_objects trig (ai_actors ai/dont_sync))

But this doesn't mean anything towards AI syncing because AI don't sync.

I did testing using the two computers at home, and I can tell you that only one tiny aspect of either bipeds or AI bipeds syncs: whether they exist, and their health (meaning alive or dead). When you're playing on another person's server on an AI map, look for unarmed bipeds sitting there doing nothing. If you notice, you can't hurt them, kill them, and you can even walk through them (you stop for a moment because your client runs into them, but then the server updates your position because you walked into nothing on its side). It's because they're not at that location on server side. So when you shoot at it, on server-side you're shooting at nothing. However, if someone by chance does shoot and kill the AI biped on server side (by shooting at nothing most likely on his screen), that biped on your screen will flash its shields and die.

Those bipeds are the "orphaned" bipeds Gamma was talking about. As long as there are AI on server-side, there are "orphaned" bipeds. And these bipeds can't be referred to by scripts on the client-side, just like vehicles.

In fact, all of the AI that you do see behaving normally and actually shooting at you are your own independent instances of AI local to your computer only. That's why they can never hurt you, because they don't exist on server side. (That's also why you're almost always seemingly killed by nothing). There could be a swarm of grunts local to your computer, but absolutely nothing on another player's computer.

Other than the health and existence, absolutely nothing else about bipeds or AI syncs. And nothing you can do will make them sync.
Edited by Me KS on Apr 28, 2009 at 06:37 PM


Mysterion
Joined: Aug 9, 2008

Nice shot, but too bad your @$$ just got SACKED!!!


Posted: Apr 29, 2009 11:12 AM    Msg. 22 of 25       
If it cleans up the play area, and sends "Orphaned" bipeds to some bottomless pit, I will be very happy with that thank you...


Gamma927
Joined: Jun 12, 2008

Steam: gamma927


Posted: Apr 29, 2009 06:17 PM    Msg. 23 of 25       
Still doesn't mean AI sync. There are other factors that contribute to why AI don't sync.


Mysterion
Joined: Aug 9, 2008

Nice shot, but too bad your @$$ just got SACKED!!!


Posted: Apr 29, 2009 07:45 PM    Msg. 24 of 25       
Regardless of whether or not they sync, I just want to clear the play area of the extra bipeds standing around...


Gamma927
Joined: Jun 12, 2008

Steam: gamma927


Posted: Apr 29, 2009 08:28 PM    Msg. 25 of 25       
Which don't appear if you play by yourself with no other clients...

 

 
Previous Older Thread    Next newer Thread







Time: Sun January 19, 2020 5:07 PM 297 ms.
A Halo Maps Website