RP Tech Admin
After a lengthy period of experimentation with Dominion, I have figured out how to create Invasion in Halo 4. A proof-of-concept can be found on my File Share -- a map variant, game variant, and a Film showing a basic test.
The game leverages Dominion, with specially-constructed maps. Progressive spawning currently relies on Teleporter Hubs, but I am researching Respawn Zone configurations that might allow for more natural spawning that still follows the proper order.
Special thanks go to: Certain Affinity, whose videos helped me grasp the gametype and inspired a few of my more clever discoveries; and Psychosis687, a good friend and test subject. What follows is an explanation of how Invasion works in Halo 4, a list of pitfalls, and in my next post, I shall add a more detailed tutorial for constructing Invasion maps.
- Outside of a few small edge-cases, only Attackers can capture bases
- Defenders can interrupt a base capture after it has been initiated
- A two-round Dominion game will swap sides properly
How It Works (a summarized "how-to")
The game relies on two tricks: "preassigned bases" and mislabeled barricades. Let's start with the first one.
A "preassigned base" is a base that has had a team set on it in Forge. At the start of a Dominion round, these bases are off: they do not have capture/fortify/resupply cycles, they do not award points, and they do not convert the teams on DOM_RES_ZONEs. At the same time, however, they are technically owned, so the team that owns them cannot capture them and turn them on. Once a preassigned base is captured, it stops being a preassigned base, meaning that the preassigned owner can now re-capture it.
So in this case, we use bases that have been preassigned to the Defenders. This leads to the problem of Defenders re-capturing the bases once the Attackers have taken them.
There is no perfect solution to this problem, but there is a really good one: barricades. If you apply DOM_FORTIFY to a Dominion Barricade, then it will deploy when a base is fortified. If you apply DOM_DECOR to a Dominion Barricade, then it will deploy when a base is captured. So what we do is, we wall off most of a Defender DOM_BASE, so that it can only be approached from one direction. We then place DOM_DECOR Barricades linked to that base, so that all access is blocked on capture.
Walling off a base is tricky because a DOM_BASE's Shape does not determine where you can activate the base from. DOM_BASEs have a hardcoded spherical capture volume with a radius of 1.3 world units, meaning that the walls around a base need to be that thick. I recommend building a box about that size around the DOM_BASE, and putting some dummy decoration on the front of the base so that people know where to activate it from.
Potential Problems When Building Your Own Map
DOM_UPGRADE can be used to spawn items in when a base is fortified. However, it does not delay the spawning of an object, so Placed-at-Start objects will spawn at the start of the round. Furthermore, if an object is not placed at start and is set to never respawn, DOM_UPGRADE will not force it to spawn. This label is therefore next to useless in an Invasion-like setup, unless you want your subsequent Phases to be accessible at the 3-minute mark regardless of which Phases have actually been completed.
DOM_SHIELD is much better, but has its own fatal flaw. DOM_SHIELD will delay the spawning of an object. A placed-at-start DOM_SHIELD Structure piece spawns when the base is fortified. A not-placed-at-start DOM_SHIELD Structure piece with a respawn time of 30 seconds spawns 30 seconds after fortification. However, if a player or active Dominion Turret is too close to the DOM_SHIELD, then it will fail to spawn. The object will only spawn about <Respawn Time> seconds after the obstruction is removed. So for things like Man Cannons, be sure to set their Respawn Time to 1.
If a base is not carefully constructed, then players can get trapped inside when it is captured. You cannot reliably solve this problem with Teleporters due to the two issues listed above -- a DOM_UPGRADE Teleporter can block access to the DOM_BASE too early, and a DOM_SHIELD Teleporter won't appear when it's needed. Omnipresent Soft Kill Boundaries are the only fix. Of course, you could always just make the front of the base be close enough to the barricades to guarantee that players are pushed out as the barricades deploy.
A Defender may be able to trigger a re-capture at the last second, as the bases fold up. This will mess up the score for the game as a whole, but not for the round. Defenders still can't win the round, because the round should end when the last base is captured for the first time, and only the Attackers can do that. (Your gametype should only award Capture Points, and have a Score to Win tailored to the number of bases on your map.)
(The absolute worst-case scenario is if a Defender and an Attacker both get stuck inside, and work together to break the game. If they take turns re-capping the base, they can halt progress to further Phases (no fortification) and win the game early. Soft Kill Boundaries should prevent this, by killing them before they get to screw around for too long.)
If a Defender interrupts a base capture, the announcer will say to that Defender, "Base Capture Initiated!" Don't worry: this is incorrect. The Defender is only preventing the previous base capture; they are not capturing the base for themselves.
My proof-of-concept uses a Teleporter hub. As you may see in the video, Halo 4 does not reliably display a Teleporter's status. A Sender Node may appear to be inactive when it is in fact fully functional.
1. Construct the base structure.
Start with a Block 4x4, to serve as the base floor.
Now, spawn two Block 3x3s, and rotate them to serve as parallel walls. Place them atop the Block 4x4, and line them up with the back corners of the 4x4.
Spawn some Dominion Barricades, with label DOM_DECOR, and set the appropriate Spawn Sequence. Place these in front of the Block 3x3s. You should have a bottom set, facing upright, and a top set, rotated upside-down. There should be no horizontal gaps. For Corner Barricades, the vertical distance should be about 0.8 world units, to ensure a perfect seal. (If you whip out a Block 1x1 and place it, the top and bottom barricade lines should Z-fight with the block's top and bottom faces.)
Spawn a small item to serve as your DOM_BASE; a Flag Stand or Hill Marker will work well. Label it properly and set it to the Defender team. Set the Shape to a Cylinder with Radius, Top, and Bottom lengths of 1.3. (The Shape makes it easier to see where the invisible hardcoded sphere capture area will be.) Horizontally center it between the Block 3x3s, and vertically center it between the barricades. (A precise position is needed since it's a sphere.) Ensure that the cylindrical shape points past the front of the Block 3x3s, but does not protrude through any other sides of the base.
Place walls and blocks as needed to fill in the rest of the base walls, and its ceiling. The front-side walls should at least touch the barricades.
Now, your DOM_BASE should be behind a bare, solid wall... But people might get a little confused seeing a waypoint behind a bare solid wall. So decorate that wall with objects that make it look like an objective -- Dominion screens, Capture Plates, whatever.
Place the remaining Dominion-related doodads. Add a DOM_BASE_ZONE covering the entire area the base is in, to ensure that people get Base Offense and Base Defense XP payouts when they kill players near the base.
Finally, test it in a Custom Game. Make sure that you don't get base messages ("PRESS [X] TO CAPTURE" or "YOU OWN THIS BASE") from any sides except the front. Remember that you must aim in the DOM_BASE's general direction to see such messages. Make sure to test the base post-capture as well -- you should not be able to see base messages of any kind through the closed barricades. You may need to go back into Forge and move the DOM_BASE object closer to the front, to ensure that the sphere capture area can be reached at the proper times.
Unfortunately, we cannot have objects delete themselves during a match, like in Reach. There is no Dominion counterpart to INV_GATES. So all round progression has to be additive: spawning in grav lifts, or ladders and ramps, or cushions for long falls. Your Phases therefore need to be separated by large cliffs or high walls, with objects that spawn in to help players cross these barriers.
If you're familiar with Dominion, your first thought may be to use the DOM_UPGRADE label. Don't. The only way to get it to work is to set the object's Placed at Start to FALSE and Respawn Time to a value other than Never, and that means that the object will eventually spawn in regardless of Phase progression.
This leaves DOM_SHIELD as the only suitable alternative. However, DOM_SHIELD objects will fail to spawn if a player or active turret is too close to them, and if the object isn't set to respawn, it won't "try" to spawn again. So use DOM_SHIELD for lifts, ramps, et cetera, but be sure to set their Respawn Time to 1. If you do that, then players will still be able to stop the items from spawning, but the items will still spawn in as soon as possible if that happens.
3. Read the potential problems section above, and make sure you handle all of those issues.
This post was updated on .
Nice work. You can do some interesting things with defender-set Extraction sites in sequence also to approximate something like a hybrid of (at least one maybe more) territory / assault-phase Invasion there, haven't tested it extensively beyond ext_target labels.
While you can only phase in and cannot gate out non-destructible objects with EXT_TARGET, you can phase in and gate out destructible ones specific to an extraction site and control sequence using said objects. For example, you can Lego together destructible objects like fusion coils to form a door that will only destroy on successful extraction. Setting extraction time to instant is necessary to prevent defender conversion, but setting arm time to some suitably long duration could make it viable for your purposes. Phased spawn hives could be done with an additive teleporter hub with the same label.
As far as making more than one site to deploy a beacon, to mimic multiple "bomb" plant locations, then I'd try two Alpha and Bravo sites for each "phase", see if they both spawn simultaneously with the same indicator, if only one shows up, or if both show up and only a single indicator.
So it looks promising, though you of course lose the potential of most of the lovely deploying dominion palette, like the barricades, which AFAIK can't be made to deploy in any other gametype. Anyhow I'm busy with school, and I've decided not to fuck with Forge or Xbox at all until next Monday or Wednesday when I'll be done for the semester, so that's why I'm letting you know instead of dragging out my Xbox and hooking everything up to test it further.
› Serious Discussion
|Powered by Nabble||Edit this page|