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 »Destructable?

Author Topic: Destructable? (25 messages, Page 1 of 1)
Moderators: Dennis

Slayer117
Joined: Oct 3, 2008

Host of CE3 2010-forever!


Posted: Mar 23, 2009 06:53 PM    Msg. 1 of 25       
Hey i was wondering if it was possible to make an object like the side of a bloodgulch base be destructable if edited properly. You know make it have health so after 2 rockets the wal would explode?


Nexus Halo
Joined: Feb 24, 2007

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


Posted: Mar 23, 2009 07:15 PM    Msg. 2 of 25       
Yes, you would first have to remove the base in 3ds or what ever software you use, then you would take the base model and make it into a destroyable scenery. Although if you did that I think the whole base would explode and not that one section you shot the rocket at.


Lone Warrior
Joined: Dec 14, 2008

-Himalayan Wizard and Mystical Guru of the Mts.-


Posted: Mar 24, 2009 03:14 PM    Msg. 3 of 25       
Unless you kept the centre of the base as the model in max, and made the parts you wanted destructable, into destroyable scenery, then add them in-game. Would it work then?


Slayer117
Joined: Oct 3, 2008

Host of CE3 2010-forever!


Posted: Mar 24, 2009 06:23 PM    Msg. 4 of 25       
Yeah it might. Like maybe just take out a wall in 3Ds and then put a new one in but put a destructable tag on it. I think this would be cool for a map. You know sabatoge like have a base to base battle. Somthing like Destroy the other teams base! XD


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Mar 24, 2009 11:11 PM    Msg. 5 of 25       
Device machines and animated scenery do not sync in multiplayer games across the network. There is not facility within the game or the network protocol to sync the status or position of them. Therefore destructible portions of a base would not sync and would not work across the network. It would only work in a single player game.


RougeSpartan414
Joined: Sep 24, 2007

Angatar, the Iron-Father.


Posted: Mar 24, 2009 11:45 PM    Msg. 6 of 25       
That would be interesting for Singleplayer.


il Duce Primo
Joined: Apr 22, 2007

CMT Team Leader


Posted: Mar 25, 2009 12:00 AM    Msg. 7 of 25       
Quote: --- Original message by: Dennis
Device machines and animated scenery do not sync in multiplayer games across the network. There is not facility within the game or the network protocol to sync the status or position of them. Therefore destructible portions of a base would not sync and would not work across the network. It would only work in a single player game.

It would sync for everyone if they didn't join the game late right? The only way I know of things like this to go out of sync is if someone joined mid-game when it was destroyed or the action happened before he joined.


yukonmuffin
Joined: May 10, 2007

Breakn' Stuff to look tough.


Posted: Mar 25, 2009 01:24 AM    Msg. 8 of 25       
I'm not quite sure it works that way. It may only explode on your screen if you fired the rocket even if every one was there at the start. when you shoot a vehical, it's velocity fudges a bit and goes in a random direction witch syncs in-game, meening objects are constantly updating their posisions to the host. A destructable wouln't update.


Dennis

Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan


Posted: Mar 26, 2009 10:35 PM    Msg. 9 of 25       
Quote: --- Original message by: il Duce Primo
Quote: --- Original message by: Dennis
Device machines and animated scenery do not sync in multiplayer games across the network. There is not facility within the game or the network protocol to sync the status or position of them. Therefore destructible portions of a base would not sync and would not work across the network. It would only work in a single player game.

It would sync for everyone if they didn't join the game late right? The only way I know of things like this to go out of sync is if someone joined mid-game when it was destroyed or the action happened before he joined.
Since those devices run on the individual client PC's they are subject to the clients processing ability and would get out of sync right away.

In Halo the server keeps all the clients in sync - players & vehicle position and status is constantly updated on each client from the server. The server does not send information about the status or position of AI, device machines or animated scenery to the clients so those things operate on each client independantly. Even if everyone started at the same time each PC would be operating at a different speed and any status like an AI getting killed would not be sent back to the server so it would die in yours but not on mine. Also AI would operate independantly on each client and on yours might move to the right and on mine move to the left.

Since there is no way to for the server to update them they "get out of sync" and game play is compromised.


RougeSpartan414
Joined: Sep 24, 2007

Angatar, the Iron-Father.


Posted: Mar 26, 2009 11:34 PM    Msg. 10 of 25       
Don't the Covenant shields sync in Rat Race?


Me KS
Joined: Feb 2, 2008

Desire is Reality. Xfire: jetmaster23


Posted: Mar 27, 2009 07:23 PM    Msg. 11 of 25       
Quote: --- Original message by: RougeSpartan414
Don't the Covenant shields sync in Rat Race?


Good point, those don't sync. The actual state of the shield is not updated from server to clients. However, Bungie chanced that the projectiles' aim would be similar enough on client side and on server side so that they hit the shield the same. If the damage on the server side shield and client side shield are the same, then they sync indirectly, and so game play isn't affected. Latency and lag can screw this up easily, however. That's why Bungie scarcely placed only two of them on the map, and why they only used them on only one map. At least, I think Rat Race is the only map they used those on, correct me if I'm wrong.
Edited by Me KS on Mar 27, 2009 at 07:24 PM


Black Crypt
Joined: Jun 30, 2008

Xfire : blackcrypt


Posted: Mar 28, 2009 09:46 AM    Msg. 12 of 25       
Gyphyrophobia has 8 covenant shields.


The covie shields do sync over the net. I tested it with a couple of friends in a dedicated server - I destroyed the shields they see them destroyed. I destroyed one of the shields while another player stood on top of one and when it got destroyed, he dropped. How much more syncronised do they need to be?

So, if these scenery objects are syncronised, the question is, how did bungie do it?


Me KS
Joined: Feb 2, 2008

Desire is Reality. Xfire: jetmaster23


Posted: Mar 28, 2009 11:07 AM    Msg. 13 of 25       
Quote: --- Original message by: Black Crypt
Gyphyrophobia has 8 covenant shields.


The covie shields do sync over the net. I tested it with a couple of friends in a dedicated server - I destroyed the shields they see them destroyed. I destroyed one of the shields while another player stood on top of one and when it got destroyed, he dropped. How much more syncronised do they need to be?

So, if these scenery objects are syncronised, the question is, how did bungie do it?


Oh yeah, I forgot Gephyrophobia. But you have the wrong idea.

They don't sync because the server doesn't send any information to the clients. There is no data transferred to the clients telling them that the shields are down.

They appear to sync because the projectile is in a similar position on server-side and on client-side, so both server and client have the shield get hit by the projectile. This causes equal damage to the shield on both server and client, making the shield disappear at the same time on server and client.

However, because projectile position isn't synced (except for grenades), this fake syncing can be screwed up by lag or latency.

For example, on client side the bullet might miss the shield by an inch, but on server side it hits the shield, so the server side shield goes down while the client side shield is still up. This gives that player the false impression that the shield still works, so he could try to hide behind it and still get sniped in the head from the front, and he'd be sitting there wondering how the hell the other player sniped him through the shield. Well he didn't. The shield just didn't sync for that player.

But, in most cases, this works properly, so Bungie chanced that the shields wouldn't affect game play very much. That's how they did it.


Slayer117
Joined: Oct 3, 2008

Host of CE3 2010-forever!


Posted: Mar 28, 2009 08:09 PM    Msg. 14 of 25       
I hate that pc dosn't sync! the game would be 10x more fun with it syncing. It's still quite fun though.


Nexus Halo
Joined: Feb 24, 2007

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


Posted: Mar 28, 2009 08:57 PM    Msg. 15 of 25       
The best thing to do is make it so it doesn't make a dramatic difference. I'm working on a map that will have destroyable scenery and even though it can't sync it's mainly for the environment. If any of you have played Gears of War 2 you'll know what I mean. Pieces of bases will be able to break off but nothing to major.


chrisk123999
Joined: Aug 10, 2008

=CE= Chris [Captain] [=]


Posted: Mar 28, 2009 09:45 PM    Msg. 16 of 25       
They don't really sync. The only reason it works is because shots fired from a gun so sync. Actually, it says it right in the HEK tutorial.


Sabre
Joined: Dec 10, 2008

I joined RB in protecting Donut's avatar.


Posted: Mar 29, 2009 02:54 AM    Msg. 17 of 25       
Quote: --- Original message by: Me KS
Quote: --- Original message by: Black Crypt
Gyphyrophobia has 8 covenant shields.


The covie shields do sync over the net. I tested it with a couple of friends in a dedicated server - I destroyed the shields they see them destroyed. I destroyed one of the shields while another player stood on top of one and when it got destroyed, he dropped. How much more syncronised do they need to be?

So, if these scenery objects are syncronised, the question is, how did bungie do it?


Oh yeah, I forgot Gephyrophobia. But you have the wrong idea.



You also forgot Danger Canyon.

I've seen Objects in runway blow up and it was that way for everyone in the server.


Black Crypt
Joined: Jun 30, 2008

Xfire : blackcrypt


Posted: Mar 29, 2009 09:29 AM    Msg. 18 of 25       
Projectiles (bullets, grenades and rockets etc) must be syncronised. Otherwise the game just wouldn't work. Server and all clients must know where all the bullets, rockets and grenades are at all times.

So, if you have scenery that can be destroyed by, say a grenade, that scenery would be destroyed for all players, because the grenade that destroys the scenery would be syncronised for all.

Surely?

Syncronising issues apart, can someone explain how to make a piece of scenery destructible.

I have a small roundish building, it has six panes of glass (all same size) that I would like to be able to break either by shooting, nading, using rockets or driving through :).

What do I need to do to make a scenery object breakable - like the glass in Prisoner?
Edited by Black Crypt on Mar 29, 2009 at 09:42 AM


chrisk123999
Joined: Aug 10, 2008

=CE= Chris [Captain] [=]


Posted: Mar 29, 2009 10:09 AM    Msg. 19 of 25       
If it's a base you would make it part of the BSP. Then use - for glass on the windows. You don't make bases into scenery.


Black Crypt
Joined: Jun 30, 2008

Xfire : blackcrypt


Posted: Mar 29, 2009 10:16 AM    Msg. 20 of 25       
I'll clarify...

The building is part of the bsp, so are the planes of glass at the moment, but as separate objects.

I get the feeling that i'm gonna have to position the scenery objects using sapien, which is going to be a pane, pun intended ;)


Me KS
Joined: Feb 2, 2008

Desire is Reality. Xfire: jetmaster23


Posted: Mar 29, 2009 08:16 PM    Msg. 21 of 25       
Quote: --- Original message by: Black Crypt

Projectiles (bullets, grenades and rockets etc) must be syncronised. Otherwise the game just wouldn't work. Server and all clients must know where all the bullets, rockets and grenades are at all times.

So, if you have scenery that can be destroyed by, say a grenade, that scenery would be destroyed for all players, because the grenade that destroys the scenery would be syncronised for all.


Only grenades have truly synced positions. In games with really high pings, you'll notice the grenade comes out noticeably after you hit the grenade button. That's because the client sends the grenade throw to the server, and then waits for the server to update the state of the grenade. Once the server confirms that message, it throws the grenade on its instance of the game, and sends the grenade's position to the client.

On the other hand, bullets fired from most weapons are client side only, so their positions aren't synced. This means that the bullet is shot out of the gun instantly on client-side, and nothing about the bullet is synced from server to client. The client just tells the server that it shot the bullet, and the server receives this message and shoots the bullet out. Once the bullet is shot, the server does not update the bullet's position or anything about its state to the client. That's why you have to lead your shots. If the server updated the position of bullets to clients, a headshot would be a hit in the head, not a miss in the direction the player is moving.


Mythril
-
Screenshot Guru
-
Joined: Mar 29, 2008

Jeffrey Albert Waldo


Posted: Mar 30, 2009 04:02 AM    Msg. 22 of 25       
m00kz made some of his weapons have synced projectiles, there's a flag in the .weapon that does that. The projectiles came out like grenades, and if you see it hit, it hit.


Black Crypt
Joined: Jun 30, 2008

Xfire : blackcrypt


Posted: Mar 30, 2009 02:31 PM    Msg. 23 of 25       
Quote: --- Original message by: Me KS
Quote: --- Original message by: Black Crypt

Projectiles (bullets, grenades and rockets etc) must be syncronised. Otherwise the game just wouldn't work. Server and all clients must know where all the bullets, rockets and grenades are at all times.

So, if you have scenery that can be destroyed by, say a grenade, that scenery would be destroyed for all players, because the grenade that destroys the scenery would be syncronised for all.


Only grenades have truly synced positions. In games with really high pings, you'll notice the grenade comes out noticeably after you hit the grenade button. That's because the client sends the grenade throw to the server, and then waits for the server to update the state of the grenade. Once the server confirms that message, it throws the grenade on its instance of the game, and sends the grenade's position to the client.

On the other hand, bullets fired from most weapons are client side only, so their positions aren't synced. This means that the bullet is shot out of the gun instantly on client-side, and nothing about the bullet is synced from server to client. The client just tells the server that it shot the bullet, and the server receives this message and shoots the bullet out. Once the bullet is shot, the server does not update the bullet's position or anything about its state to the client. That's why you have to lead your shots. If the server updated the position of bullets to clients, a headshot would be a hit in the head, not a miss in the direction the player is moving.



I'm no expert, but isn't the lead due to the time it takes for all the synchronisation data to be sent back and forth between the server and the clients?

If projectile data is not sent to all players, how on earth does the server and clients know who got shot and by whom?


Me KS
Joined: Feb 2, 2008

Desire is Reality. Xfire: jetmaster23


Posted: Mar 30, 2009 10:31 PM    Msg. 24 of 25       
Quote: --- Original message by: Mythril
m00kz made some of his weapons have synced projectiles, there's a flag in the .weapon that does that. The projectiles came out like grenades, and if you see it hit, it hit.


Yeah, the "projectile is client-side only" flag. Only problem with that is getting used to the small delay between when you shoot and when the bullet actually comes out. But no matter what, you still have to lead just the same.

Quote: --- Original message by: Black Crypt
I'm no expert, but isn't the lead due to the time it takes for all the synchronisation data to be sent back and forth between the server and the clients?

If projectile data is not sent to all players, how on earth does the server and clients know who got shot and by whom?


1. Yep, that's what I mean by "latency". You shoot the shot, which appears to come out instantly. However, it is sent to the server, and the server shoots on its instance of the game. Then, if your shot is a hit on the server's instance of the game, the server sends that data back to you, and the player dies. The data moving to the server and back causes the delay.

2. Halo is server-side. So that means that whatever happens on the server's instance of the game is the reality, no matter what the clients see. The clients just send their actions to the server, and the server plays out their actions in its own instance of the game. Whatever happens in the server's game counts. Then, the server updates the clients with its information.

So, in this case, the server is the only one who determines whether you shot someone else. The way the bullets hit on the clients' games doesn't mean anything. That's why it's acceptable not to sync the state of the projectiles, as long as they're shot out at the same time. If a player gets killed on the server side, the server will update the clients with his death.


Black Crypt
Joined: Jun 30, 2008

Xfire : blackcrypt


Posted: Mar 31, 2009 02:29 PM    Msg. 25 of 25       
Thank you for your wonderfully clear explanation :)

 

 
Previous Older Thread    Next newer Thread







Time: Sat January 21, 2023 4:12 AM 140 ms.
A Halo Maps Website