Creating Destructibility in Halo 2 Forge

ShockBolt21

Master
Feb 1, 2013
1,097
346
166
USA- Eastern Time Zone
So I utilized a quite complex system of switches, triggers, timers, scripting, and explosions to create a pretty convincing destruction effect in Halo 2 anniversary's forge. The trick can be used to create the illusion of destroying or damaging any structure or object- in this case, it's used to blast open doors. Check out the video below, showing the concept being tested for my upcoming map.


The idea was for the trigger to be hidden to make it seem as if the doors were blown open by the force of the explosion rather than the activation of a switch, but this was not done perfectly as you can see in the video. Maybe I'll use the "garage door switch" instead of the glowing yellow trigger and make it look like one of the explosives.

Read the steps below to find out how to set up destruction yourself, or just watch this video (by Zandril).

Necessary Steps:


-Place any number of objects to be destroyed. Set "can despawn" = true, "spawn channel" = 1 for all of them.

-Place timer (on once) that will spawn the object(s) at the beginning of the game (without it, the object(s) will not appear). Set "broadcast channel" = 1 and duration at like 1.

-Place trigger that will activate destruction process. Set "broadcast channel" = 2.

-Place another timer (off once) that will provide inverse functionality for the trigger. Set "can despawn" = true, "spawn channel" = 2, "broadcast channel" = 1. This timer will spawn when the trigger is hit to deactivate channel 1 and despawn the object(s).

Recommended:


-Place any number of 'dummy objects' (destroyed version of main objects that will take its place). Set "can despawn" = true, "spawn channel" = 2 for all of them.

-Place explosives and/or invisible explosion volumes around the object to be destroyed. Set "broadcast channel" = 2 so they blow up when the trigger is hit.

*NOTE: Keep "Place at Start" = TRUE for ALL objects.


This trick is very practical and versatile, and can find some use in maps of any type. I hope to see others utilize it in their creations through the Master Chief Collection's lifetime.
 
Last edited:

MosDeaf

Adept
Feb 5, 2014
45
35
41
Rochester
Shit's tight, yo.

How many scripting objects are you using on average, per "destructive" object? If it's moderately high, I can't imagine if that'll be good in a heavily populated game or something.
 

ShockBolt21

Master
Feb 1, 2013
1,097
346
166
USA- Eastern Time Zone
Shit's tight, yo.

How many scripting objects are you using on average, per "destructive" object? If it's moderately high, I can't imagine if that'll be good in a heavily populated game or something.
Thanks, dawg. Each destructible case requires a minimum of:
-any number of objects to be destroyed
-1 damage-sensitive trigger to activate the whole process
-1 timer to ensure destructible object is present at start

Recommended additions:
"Dummy object(s)" to replace the destroyed object (i.e. rubble, collapsed wall- in this case, broken gate)
-Another timer to provide dual functionality (destroying the object while spawning in the dummy)
-explosives/explosion volume to trigger the trigger and to enhance visual effect

So this can be done with a minimum of three objects, only one of which needs to be visible at any given time (those not visible will not affect game performance). Many of the possible additions listed would also be invisible and thus have no effect on the game's performance, so you shouldn't worry about that.

But will it work this smoothly in a large game? We'll have to find out. I think it will, though, because there is evidence to believe that 343 put more effort into the explosion effects for Anniversary and they should not lag or delay much.
 
Last edited:

buddhacrane

Proficient
Nov 2, 2014
34
8
23
37
Nicely done.

Having things blowing up near the gate itself also neatly solves the issue of items not spawning in if a player is too close, because in this case if a player is too close to the gate then they get blown up. Problem solved!