
UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 25, 2011 10:37 PM
Msg. 1 of 58
Does anyone know how to make a script that only shows one AI to both Host and Client? Idc if it syncs or not (most likely not), so long as it only shows one AI for each player.
BTW, this AI is moving along one pathway, and there is only one AI.
To be more specific, 343GS in my MP level Conflict in the Adjutant Map Pack.
Would be nice if there was, but please tell me if it's not possible. No need dancing around the answer and giving me false hopes.
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Apr 25, 2011 11:29 PM
Msg. 2 of 58
Quote: --- Original message by: UBE Chief Does anyone know how to make a script that only shows one AI to both Host and Client? Idc if it syncs or not (most likely not), . AI do not sync in a multi-player map. Period. Think of it this way if it makes you feel any better: Only Zero (0) AI can sync.
|
|
|

UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 25, 2011 11:45 PM
Msg. 3 of 58
Whoa, whoa, whoa, I fully said that I don't care if they DO NOT SYNC, I just want one AI to show up on both screens, instead of the 2+ showing up on the client's screen.
Please read the full post again, make sure you're not misunderstanding it for a complete newbie question.
|
|
|

Switchblade
Joined: Jul 3, 2007
"Do you believe my threat is ended with my death?"
|
Posted: Apr 25, 2011 11:48 PM
Msg. 4 of 58
You are asking for a "force sync" script... that sort of thing would take quite a bit to write and may present some major issues if not done correctly (ie - what happens when you sync two bipeds to a single player node?)
|
|
|

Pepzee
Joined: Sep 9, 2010
Retired Halo Modder
|
Posted: Apr 25, 2011 11:49 PM
Msg. 5 of 58
Quote: --- Original message by: UBE Chief I just want one AI to show up on both screens. Quote: --- Original message by: Dennis Only Zero (0) AI can sync. I personally do not believe it is possible. Other wise while we were testing it we would of seen it work. I would just suggest removing the monitor completely to avoid this issue.
|
|
|

iHalo
Joined: Dec 5, 2009
Modeling ::Royal Carribean's Oasis of the Seas::
|
Posted: Apr 26, 2011 12:31 AM
Msg. 6 of 58
Make it scenery with an animation, and have an have a marker on the model play a sound/light (for example, 343gs engine noise/lights/contrail)
|
|
|

Higuy
Joined: Mar 6, 2007
@lucasgovatos
|
Posted: Apr 26, 2011 06:05 AM
Msg. 7 of 58
Kirby422 had apparently accomplished this a few years back I believe.
|
|
|

grunt_eater
Joined: Jan 26, 2011
Everything except biped rigging.
|
Posted: Apr 26, 2011 11:47 AM
Msg. 8 of 58
I know nothing about scripting. But would it be possible to add in a biped and attach an AI to it via scripting?. Because then whoever has the map will have the spawn point and only one biped would be spawned. Again i have no clue what i'm saying but still sounds like a sound argument
|
|
|

UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 26, 2011 12:57 PM
Msg. 9 of 58
Quote: --- Original message by: iHalo Make it scenery with an animation, and have an have a marker on the model play a sound/light (for example, 343gs engine noise/lights/contrail) A scenery that follows a preset path? I honestly doubt that's possible. Plus, that would lag (the map) like all hell, wouldn't it? This considering that 343GS is carving a path around the entire level in a rough "figure eight", and including the fact that it does go to different heights while moving. If you want to see what I mean, go play on Conflict and watch 343's movement using debug cam.
|
|
|

tylerp14
Joined: Oct 12, 2010
Ohai der...
|
Posted: Apr 26, 2011 01:54 PM
Msg. 10 of 58
Quote: --- Original message by: DennisQuote: --- Original message by: UBE Chief Does anyone know how to make a script that only shows one AI to both Host and Client? Idc if it syncs or not (most likely not), . AI do not sync in a multi-player map. Period. Think of it this way if it makes you feel any better: Only Zero (0) AI can sync. Actually Dennis, 017 got it syncing online at one point, but then it failed at something I cant remember, you might now know 017 but he is very good at modeling and such. So, in a sense they do sync online. Somebody just has to figure out how like he did. Proof: http://www.youtube.com/watch?v=5Sabz0VckCAEdited by tylerp14 on Apr 26, 2011 at 01:57 PM
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Apr 26, 2011 04:41 PM
Msg. 11 of 58
Quote: --- Original message by: UBE Chief Whoa, whoa, whoa, I fully said that I don't care if they DO NOT SYNC, I just want one AI to show up on both screens That has to do with them not syncing. The client does not know if the server already has an AI instantiated on the server (because they don't transmit status) so the client instantiates a new AI on the client because AI functions run only on the local client and are not updated by the server. Quote: --- Original message by: Dancing MadQuote: --- Original message by: Dennis AI do not sync in a multi-player map. Period. Think of it this way if it makes you feel any better: Only Zero (0) AI can sync. Dennis if you don't mind, may I create a thread on why A.I won't sync and you sticking it so that newbies won't ask the same questions over again? This subject comes up every six months and has come up since 2004 when the site opened. Nothing anyone can do will prevent it from coming up again as new people get involved with the game. That is why I have a cut and paste answer for any AI syncing question. I know it is tiresome but it is reasonable that people assume it can work since most of the other games they have today allow AI in either multiplayer or co-op mode so they assume that ANY game will. They most likely don't have much experience with games prior to 2004 where it was not common. Quote: --- Original message by: tylerp14 Actually Dennis, 017 got it syncing online at one point, but then it failed There is no grey area it is a binary issue they sync or they don't. They don't. Period. The game engine has no facility in it's core code to transmit or receive status, position or health of AI, Device Machines or Animated scenery over a network connection. Claims to the contrary are, for the lack of a better description, lies. I have no problem with people asking the question, what I get tired of is when they proclaim that the answer is wrong. If you understood how the game works to begin with you would not have needed to ask the question so claiming that AI can sync is just being contrary absent the facts. Edited by Dennis on Apr 26, 2011 at 05:02 PMEdited by Dennis on Apr 26, 2011 at 05:03 PM
|
|
|

kirby_422
Joined: Jan 22, 2006
Apparently public enemy number 1?
|
Posted: Apr 26, 2011 05:02 PM
Msg. 12 of 58
Quote: --- Original message by: UBE Chief Does anyone know how to make a script that only shows one AI to both Host and Client? Idc if it syncs or not (most likely not), so long as it only shows one AI for each player.
BTW, this AI is moving along one pathway, and there is only one AI. So, can you more clearly specify what it is you want? From what I gather from your message, you want a character that shows up on both sides, you don't seem to sound like you care if they sync, and they just move along one pathway with nothing more. Is that what you want? If you have xfire, add kirby422 and I can figure out what you want players to see and interact with, and do something that results as that.
|
|
|

SlappyThePirate
Joined: Aug 24, 2009
You are irritating, I'll release nothing
|
Posted: Apr 26, 2011 06:15 PM
Msg. 13 of 58
|
|
|

Switchblade
Joined: Jul 3, 2007
"Do you believe my threat is ended with my death?"
|
Posted: Apr 26, 2011 07:52 PM
Msg. 14 of 58
Quote: --- Original message by: DennisQuote: --- Original message by: UBE Chief Whoa, whoa, whoa, I fully said that I don't care if they DO NOT SYNC, I just want one AI to show up on both screens That has to do with them not syncing. The client does not know if the server already has an AI instantiated on the server (because they don't transmit status) so the client instantiates a new AI on the client because AI functions run only on the local client and are not updated by the server. Quote: --- Original message by: Dancing MadQuote: --- Original message by: Dennis AI do not sync in a multi-player map. Period. Think of it this way if it makes you feel any better: Only Zero (0) AI can sync. Dennis if you don't mind, may I create a thread on why A.I won't sync and you sticking it so that newbies won't ask the same questions over again? This subject comes up every six months and has come up since 2004 when the site opened. Nothing anyone can do will prevent it from coming up again as new people get involved with the game. That is why I have a cut and paste answer for any AI syncing question. I know it is tiresome but it is reasonable that people assume it can work since most of the other games they have today allow AI in either multiplayer or co-op mode so they assume that ANY game will. They most likely don't have much experience with games prior to 2004 where it was not common. Quote: --- Original message by: tylerp14 Actually Dennis, 017 got it syncing online at one point, but then it failed There is no grey area it is a binary issue they sync or they don't. They don't. Period. The game engine has no facility in it's core code to transmit or receive status, position or health of AI, Device Machines or Animated scenery over a network connection. Claims to the contrary are, for the lack of a better description, lies. I have no problem with people asking the question, what I get tired of is when they proclaim that the answer is wrong. If you understood how the game works to begin with you would not have needed to ask the question so claiming that AI can sync is just being contrary absent the facts. Edited by Dennis on Apr 26, 2011 at 05:02 PMEdited by Dennis on Apr 26, 2011 at 05:03 PM I know this is going to be rather irritating to you Dennis but you did bring up a rather interesting point that could resolve the issue. The red section is what i'm referring to: You're saying that if a player marker was added to each spawned ai with tags for friendly or other they will appear as normal players online? The other conclusion i've come to from this statement is that if the server or even the host for that matter had a way to track the ai and "force update" their positions to the client via a "NAV Point" per say; the "dumby AI" will no longer appear because both the host and the client perspectives are syncronized?
|
|
|

kirby_422
Joined: Jan 22, 2006
Apparently public enemy number 1?
|
Posted: Apr 26, 2011 08:06 PM
Msg. 15 of 58
Quote: --- Original message by: Switchblade You're saying that if a player marker was added to each spawned ai with tags for friendly or other they will appear as normal players online?
The other conclusion i've come to from this statement is that if the server or even the host for that matter had a way to track the ai and "force update" their positions to the client via a "NAV Point" per say; the "dumby AI" will no longer appear because both the host and the client perspectives are syncronized? being a player doesn't change the fact its an AI. ive used ai_attach before to turn all the players into AI, and instead of bringing the AI into sync, it dragged the players out of sync. even if you keep forcing them into the same position, they are going to keep trying to do their own action, meaning your gonna have an AI on a client who keeps being turned or moved in one direction during the sync operation, and in the moment hes not being forced to that location, might start running the opposite direction right before being forced back into where the host wants him to be, leaving instead some flailing mass of flesh and players getting hurt not knowing what the flesh mass is trying to aim at.
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Apr 26, 2011 08:37 PM
Msg. 16 of 58
Quote: --- Original message by: Switchblade I know this is going to be rather irritating to you Dennis but There is no "but", there is no "almost", there is no way a non-modified Halo 1 game engine can make AI sync over a network connection because the game engine was not designed at it's core with the facility to do so. People may not like to hear it and and they seem to think I am issuing a challenge "oohh we have to prove Dennis wrong because, because well... because he said it. Never mind it's what Gearbox has said let's prove that guy at Halo Maps wrong" : DUMB. You would have as much luck hiking to Jupiter in your underwear as you will making AI sync in the Halo 1 game engine. The code is just not there or they would have done it to begin with. It took two more iterations, increased available bandwidth (Halo 1 is 56K dial up speeds), a complete and total re-writes of the game, and even still there are limits of four players to allow for co-op over a network connection. So thinking a nine year old game not designed for it is going to allow for sixteen players to play co-op with AI is ludicrous and wishful thinking at it's most wasteful. As I tell people who still don't want to believe it: Go ahead an do it. Make a map and knock your socks off. I have nothing to prove and no one has anything to prove to me. I offer the information only so you don't waste your time.
|
|
|

chrisk123999
Joined: Aug 10, 2008
=CE= Chris [Captain] [=]
|
Posted: Apr 26, 2011 08:50 PM
Msg. 17 of 58
Dennis, what I think he's attempting to do is have all the clients have their own brain dead AI run a track on their machine. Most likely out of reach of the players and just there for decoration. And is getting a duplicate AI problem because the server syncs the biped of the AI, but not the location.
Simple fix: Create the AI in a place the player can't get to then teleport them to where you really want them. The host biped will stay in the room where you can't see it. Edited by chrisk123999 on Apr 26, 2011 at 08:51 PM
|
|
|

SlappyThePirate
Joined: Aug 24, 2009
You are irritating, I'll release nothing
|
Posted: Apr 26, 2011 09:06 PM
Msg. 18 of 58
No, none of this works. It does not sync anything, and what dennis means is that The CODE for the game does not support this. Edited by SlappyThePirate on Apr 26, 2011 at 09:08 PM
|
|
|

chrisk123999
Joined: Aug 10, 2008
=CE= Chris [Captain] [=]
|
Posted: Apr 26, 2011 09:09 PM
Msg. 19 of 58
I understand that. What I said is what I think the original posters intent was.
By the way, the bipeds health and existence does sync. That's clients get doubled up bipeds on maps that use bipeds for syncing stuff. What does not sync is their location or them firing.
What I posted was a way to make the duplicate host biped now show up on the clients computer. This is also how most older maps that uses scripted vehicles avoided clients extra vehicles from showing up. But that's no longer a problem if you use a proper host detection script. Edited by chrisk123999 on Apr 26, 2011 at 09:12 PM
|
|
|

SlappyThePirate
Joined: Aug 24, 2009
You are irritating, I'll release nothing
|
Posted: Apr 26, 2011 09:13 PM
Msg. 20 of 58
Hey, buddy, I'm just clarifying. I work on mp scripts as well.
|
|
|

chrisk123999
Joined: Aug 10, 2008
=CE= Chris [Captain] [=]
|
Posted: Apr 26, 2011 09:15 PM
Msg. 21 of 58
We should get together and share our MP scripting knowledge. 
|
|
|

Jesse
Joined: Jan 18, 2009
Discord: Holy Crust#4500
|
Posted: Apr 26, 2011 10:02 PM
Msg. 22 of 58
Quote: --- Original message by: chrisk123999
I understand that. What I said is what I think the original posters intent was.
By the way, the bipeds health and existence does sync. aren't bipeds created individually for every player's game meaning that each player is his\her own "host" when it comes to the bipeds being placed and spawned\killed? If in fact I am wrong, I would really love to be proven wrong because: 1) It would revolutionize Halo map making (which hasn't happened.) 2) It would probably create a path for somehow getting AI to take over bipeds. Edited by jesse on Apr 26, 2011 at 10:07 PM
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Apr 26, 2011 10:25 PM
Msg. 23 of 58
Quote: --- Original message by: jesse aren't bipeds created individually for every player's game meaning that each player is his\her own "host" when it comes to the bipeds being placed and spawned\killed? That is what I said. The server creates a biped and the client creates a biped and never tells each other.
|
|
|

SlappyThePirate
Joined: Aug 24, 2009
You are irritating, I'll release nothing
|
Posted: Apr 26, 2011 10:26 PM
Msg. 24 of 58
Er, no... an AI taking over an object makes it not sync. Examples are vehicles with ai in them. Even though vehicles would syncronize, the ai make it not do so. 
|
|
|

Jesse
Joined: Jan 18, 2009
Discord: Holy Crust#4500
|
Posted: Apr 26, 2011 10:29 PM
Msg. 25 of 58
Yeah I know, I was just being hopeful :( Quote: --- Original message by: DennisQuote: --- Original message by: jesse aren't bipeds created individually for every player's game meaning that each player is his\her own "host" when it comes to the bipeds being placed and spawned\killed? That is what I said. The server creates a biped and the client creates a biped and never tells each other. Someone keeps dirty secrets from each other :o Edited by jesse on Apr 26, 2011 at 10:30 PM
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Apr 26, 2011 10:41 PM
Msg. 26 of 58
Quote: --- Original message by: jesse Yeah I know, I was just being hopeful :(
As I have said before I fully understand the reasons why people don't want to accept it as a limitation however it is in fact a limitation and since it wasn't until 2007before Bungie modified, and it was a complete rewrite, the game engine to allow for co-op play AND it was limited to four players because of the bandwidth requirements. What I don't understand is why people think that after being told by Gearbox (who did the port) that there was no code in the game, that came out nearly 7 years before the BLAM engine was completely re-coded to support 4 player co-op, that they can make a 16 player co-op game when absolutely no other server side multi-player game made today can. Just the idea of it is is outlandish.
|
|
|

Higuy
Joined: Mar 6, 2007
@lucasgovatos
|
Posted: Apr 27, 2011 06:16 AM
Msg. 27 of 58
Long story short: YES you can have your 343 GS biped flying around the map, however it will not sync in terms of location. An old map by Sunny (forgot the name; was based off the Library and never released) had done exactly this. It was pretty cool.
|
|
|

UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 27, 2011 01:39 PM
Msg. 28 of 58
THANK YOU! Exactly what I wanted to know. I only want ONE AI to show up on both the Host and Client screens, but I do NOT care if it DOES NOT SYNC.
Do you think you can tell me what he did to achieve this?
|
|
|

chrisk123999
Joined: Aug 10, 2008
=CE= Chris [Captain] [=]
|
Posted: Apr 27, 2011 04:12 PM
Msg. 29 of 58
Exactly what I said.
He teleported the AI in from another off map room.
|
|
|

UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 27, 2011 04:24 PM
Msg. 30 of 58
Alright, but now the issue is that considering that Conflict is an SP>MP convert, I cannot add extra BSP to have a room for 343GS (despite how small he is) and teleport him in from that area.
Please note that this is the last part of c10 (343 Guilty Spark) as well.
As a side-note, there are ways that the player can interact with 343GS, by shooting him (and possibly making him stop permanently - rare) or (in one area and is very hard to do) melee him in the back and kill him.
I can fix 343 so that he can't be killed and is brain-dead (as of right now he is just initially blind and deaf), but I just need to fix the multiple visions of him appearing to the clients.
Did he use a script to spawn/teleport the AI in? If so, I'd like to see it, if possible :3
|
|
|

Gamma927
Joined: Jun 12, 2008
Steam: gamma927
|
Posted: Apr 27, 2011 04:59 PM
Msg. 31 of 58
(script startup teleportAtStart (object_teleport (unit (list_get (ai_actors AI) 0)) FLAG) )
|
|
|

iHalo
Joined: Dec 5, 2009
Modeling ::Royal Carribean's Oasis of the Seas::
|
Posted: Apr 27, 2011 05:03 PM
Msg. 32 of 58
Quote: --- Original message by: UBE Chief Alright, but now the issue is that considering that Conflict is an SP>MP convert, I cannot add extra BSP to have a room for 343GS (despite how small he is) and teleport him in from that area.
Please note that this is the last part of c10 (343 Guilty Spark) as well.
As a side-note, there are ways that the player can interact with 343GS, by shooting him (and possibly making him stop permanently - rare) or (in one area and is very hard to do) melee him in the back and kill him.
I can fix 343 so that he can't be killed and is brain-dead (as of right now he is just initially blind and deaf), but I just need to fix the multiple visions of him appearing to the clients.
Did he use a script to spawn/teleport the AI in? If so, I'd like to see it, if possible :3 I'd rather say do not make him interactive, it would be 1000x easier, you can simple place him as AI down in the map. If he doesn't interact with the players in any way, he will fly around unsynced, but it's fine since there's no interaction, he just as easily classified as scenery. It won't matter where he is. If he's flying at Red Base on My screen, and Blue base on yours, neither of us will even know he's at a different spot.. and since it doesn't affect gameplay, it would not matter either.
|
|
|

UBE Chief
Joined: Sep 28, 2009
Raising the bar, one kill at a time.
|
Posted: Apr 27, 2011 06:14 PM
Msg. 33 of 58
No, what I said was that the PLAYERS can interact with 343GS, not the other way around. I thought that would be obvious considering I said that he was already BLIND and DEAF.
But like I said, if he gets turned into an animated .scenery (as that's what I'm gathering from your response), the map will lag like crazy.
He already flies around unsynced, but there's more than one of him on the client screen, and that can be very confusing, especially when you're doing a small skirmish (i.e. 1v1 to 3v3) as there are more red dots appearing on the client's radar than there should be.
In any case, I think I'll try the script that Gamma gave to me and see if that resolves the issue.
Speaking of which, does it matter where 343GS initially spawns, so long as the players can't get to him (like for instance, a kill barrier separating the player spawn and the AI spawn)? Simply because I can only think of one area where I can allow 343GS to spawn that players can't get to.
|
|
|

Higuy
Joined: Mar 6, 2007
@lucasgovatos
|
Posted: Apr 27, 2011 06:18 PM
Msg. 34 of 58
Quote: --- Original message by: UBE Chief No, what I said was that the PLAYERS can interact with 343GS, not the other way around. I thought that would be obvious considering I said that he was already BLIND and DEAF.
But like I said, if he gets turned into an animated .scenery (as that's what I'm gathering from your response), the map will lag like crazy.
He already flies around unsynced, but there's more than one of him on the client screen, and that can be very confusing, especially when you're doing a small skirmish (i.e. 1v1 to 3v3) as there are more red dots appearing on the client's radar than there should be.
In any case, I think I'll try the script that Gamma gave to me and see if that resolves the issue.
Speaking of which, does it matter where 343GS initially spawns, so long as the players can't get to him (like for instance, a kill barrier separating the player spawn and the AI spawn)? Simply because I can only think of one area where I can allow 343GS to spawn that players can't get to. animated scenery dosent sync either.
|
|
|

iHalo
Joined: Dec 5, 2009
Modeling ::Royal Carribean's Oasis of the Seas::
|
Posted: Apr 27, 2011 08:16 PM
Msg. 35 of 58
Quote: --- Original message by: UBE Chief No, what I said was that the PLAYERS can interact with 343GS, not the other way around. I thought that would be obvious considering I said that he was already BLIND and DEAF.
But like I said, if he gets turned into an animated .scenery (as that's what I'm gathering from your response), the map will lag like crazy.
He already flies around unsynced, but there's more than one of him on the client screen, and that can be very confusing, especially when you're doing a small skirmish (i.e. 1v1 to 3v3) as there are more red dots appearing on the client's radar than there should be.
In any case, I think I'll try the script that Gamma gave to me and see if that resolves the issue.
Speaking of which, does it matter where 343GS initially spawns, so long as the players can't get to him (like for instance, a kill barrier separating the player spawn and the AI spawn)? Simply because I can only think of one area where I can allow 343GS to spawn that players can't get to. You didn't read what I said. Why do you want it to interact. I'm sure players will be more interest in killing the enemy team, then to go to a rare spot and kill the Oracle. It will NEVER sync. And if you did the unsynced single biped CORRECTLY there'd only be one on the client screen. I edited Snowgrove to have a Oracle flyign around, to test it on my LAN network with 2 pc. They were NOT in the same spot on the map, but regardless it flew around, and it was a good scenic background... What is the point in having it killable...? :/ If you want it killable then do so.. If someone kills it and it DOESNT die on the other clients screens, who cares? It's not like anyone will no, or if it would affect gamplay (other than seeing in idiot shoot at mid-air) If I am still wrong, please explain the purpose of being able to kill him, and why does it matter if he's synced. Thanks.
|
|
|