Jul 22, 2011

Known Bugs With The Spawn Engine

This article will list known bugs with the spawn engine in Halo: Reach. This article is a complementary article to the Respawn Zone Tutorial and the Respawn Zone Anomalies articles.

There are a number of glitches that people have discovered in the Halo: Reach game system. This article will cover only those dealing with the spawn engine that have been confirmed by hard evidence in controlled test cases.


A bug is defined as a behavior that contradicts official documentation. What is described here are behaviors that can consistently be reproduced, and contradict Bungie published materials. If Bungie does not describe a behavior, then any behavior would be correct (not a bug) and technically considered undefined.

There may be cases where what appears to be a bug is not a bug at all, but a design decision. But without clarification from Bungie (or 343i in the future), such behaviors should be classified as unintended behavior - bugs.

For the purposes of this article, Respawn Zone will be referred to as Strong Zone, Weak Respawn Zone will be referred to as Weak Zone, Anti Respawn Zone will be referred to as Anti Zone, and the general case of any of these three will be referred to as Respawn Zone collectively.

Infection Initial Load Out Cameras Are Inconsistent

For Infection game type variants, the initial load out cameras are inconsistent through out the game. Each round starts with an initial load out camera. But the initial load out cameras used for round one are not the same as those used for the other rounds.

For round one, the blue and red team assigned initial load out cameras are used, red for humans, blue for zombies. For all other rounds, a neutral team assigned initial load out camera is used.

This inconsistency gives a map the appearance of lacking quality of craftsmanship.

Test Case

Setup three initial load out cameras, assign them to red, blue and neutral teams respectively. Run an Infection game through all rounds. Note which cameras are used at the start of each round.

Work Around

There are two work arounds.

(1) Ensure all three cameras are in an identical position and orientation (they all see the same thing).

(2) Use only a single neutral team assigned camera.

More Information

Because Bungie maps fail to demonstrate the problem, they obviously employed one of the work arounds. We can assume this is a known bug.

If you want to use team assigned cameras for other game types (e.g., Slayer, Bomb, Flag, etc.) for the different teams, but you do not want to use those cameras in Infection, then assign those cameras to TEAM_ONLY. This game type label will not match with Infection and the team assigned cameras will not spawn on the map for Infection game types.[1]


If you want to use a different neutral team assigned camera for FFA games, then assign it to FFA_ONLY. Again, this game type label will not match with Infection and the FFA camera will not spawn on the map for Infection game types.[1]


KOTH & Territories Disrespect Anti Respawn Zone

If you have a map with Anti Respawn Zones, those zones are ignored when KOTH and Territories game type variants are used. It is as though they were never present.

Test Case

Two test cases were used to prove the bug out. I will outline only one of them. 
The test case involved three Respawn Points, A, B, and C. A neutral Respawn Zone encompasses all three Respawn Points. B is covered with two Anti Respawn Zones, and C is covered with only one Anti Respawn Zone. A crate obstacle would spawn on the map over A after a period of time to obstruct A and force the use of B or C. The player would spawn and either move toward or fall into a teleport. At the other teleport on the other side of Forge World, the player would be in a Kill Boundary and immediately die.

Various game types were tested on the map. For all but KOTH and Territories variants, the player would only spawn on A, because the Anti Respawn Zones would lead to A being favored every time.

Once the obstacle spawned, the player would spawn only at C, since C was favored by having less Anti Respawn Zones.

However, for KOTH and for Territories variants, the player would spawn at any of the three Respawn Points, until A became obstructed. This showed that the problem was not a failure to combine Anti Respawn Zones, but a failure to even use them in weighting of the Respawn Points.
 
Speculation
 
This bug probably got by Bungie, because Anti Respawn Zones are very unusual in any map. If they knew about this bug, they probably decided it was a low priority bug, since most maps do not use Anti Respawn Zones.
 
Work Around
 
There is no known work around at this time.

Acknowledgments
 
Thanks to dt192 for finding this bug, bringing it to my attention, and then helping me characterize this bug by doing a lot of testing.
 
Stock Pile Disrespects Respawn Zone Game Type Labels

If you have a map with Strong Zones for various game types, you will assign the Strong Zones' Game Type Labels to specific game types, such as CTF, SLAYER, TEAM_ONLY, FFA_ONLY, ASSAULT, etc. The Stock Pile game type has been demonstrated to enable every Strong Zone, regardless of their game type label. This presents problems for those maps that use anything other than the simple Strong Zone model of splitting the map in half and assigning each half to the two teams, red and blue.

Imagine a simple, yet common case, of a neutral Strong Zone covering the whole map and assigned to FFA_ONLY. This Strong Zone, when enabled in Stock Pile, would enable a team  member to spawn anywhere on the map where a neutral Respawn Point is located, even at the enemy's stock pile collection zone.

Test Case

The test case involved a number of small Strong Zones with a Respawn Point in each and a control Respawn Point outside of all Strong Zones. When the player was killed, he respawned in any of the Strong Zones as though they were all enabled. He never respawned in the controlled Respawn Point unless all other Respawn Points were obstructed.  The death influencer never overcame any of the Strong Zones, confirming the Strong Zones' basic behavior.

Speculation

This bug in the game type script (if that is where the bug is at) may be the reason that the engineers chose to create a red and a blue team assigned Strong Zone centered at the two teams' respective drop zones. Their engineers may not have known what was causing the problem and they may have speculated that creating Strong Zones might alleviate the problem. If this is the genesis of the built in Strong Zones, then they only complicated the matter further.

More Information

The article Respawn Zone Anomalies talks more about the Stock Pile's built in Strong Zones and how they interfere with other game types on the same map.

Work Around

There are a number of work arounds, depending upon your particular map. But the most general work around is to use only one blue team Strong Zone and one red team Strong Zone and divide the map in half with those two zones. Then, make certain that the Stock Pile drop zones are far enough away (15 units radius for each, 30 units from zone to zone) from the other team's Strong Zone that it won't overlap at all.

Too Many Respawn Zones Breaks Respawn Zone Behavior

It has been demonstrated that after laying down all of the Weak Zones or all of the Anti Zones, then laying down a Strong Zone, that the Strong Zone ceases to function at all. Bungie suggested that the problem was likely in a collection object within the software and that Bungie never intended to have many Weak or Anti Zones used in the manner described.

Test Case

All Weak Zones were laid down (it doesn't matter where - they can occupy the same volume if you wish). then a Strong Zone was placed on the map else where. A Respawn Point was placed in the Strong Zone and a control Respawn Point was placed outside of all Respawn Zones.

The player was killed at the Respawn Point in the Strong Zone and respawned at the control Respawn Point. If the Strong Zone had been functioning correctly, the player would exclusively Respawned in the Strong Zone only.

The Strong Zone was deleted. This was followed by deleting of all the Weak or Anti Strong zones, save five. Then the Strong Zone was added back onto the map as before.

The player was killed at the Respawn Point in the Strong Zone and respawned consistently withn the Stong Zone. This demonstrated that the Strong Zone was functioning as intended.

Speculation

This bug must be analyzed by 343i, as Bungie is not going to take the time. But it appears that the Spawn Engine of Halo: Reach will only look so far deep into the Respawn Zone collection object (if that is the actual software architecture) before it stops looking for Strong Zones to enforce in the game play.

Work Around

The best advise is to avoid using Weak and Anti Zones, or to limit them to one or two per team at most. Ultimately, if you use even one Weak or Anti Zone, you should be fully aware of what you are doing, because you are altering the Spawn Engine's algorithms significantly.

Additionally, always lay the Strong Zones down first. It is believed that the problem is due to traversing a collection object that holds all of the various Respawn Zones. If the Strong Zones are at the front of the list, then they should all get processed correctly. Again, this is based upon an assumption made from a statement by JonnyOThan and is not confirmed.


Line Of Sight Overcomes Strong Zones

It was discovered that weapon line of sight (LOS) can overcome the Strong Zone. It takes very specific conditions. But what makes this a bug is that JonnyOThan was puzzled by it when I brought this to his attention. He never officially declared it was a bug, but he spent enough effort trying to reproduce it that he clearly was taken by surprise by it - that is, he never heard anyone within Bungie describe the behavior as intended. Nevertheless, it is very possible that someone within Bungie actually intended the behavior to occur. This is why it is critical to always have the authoritative voice officially explain what it is we are seeing.

Test Case

Lay down two control Respawn Points outside the Strong Zone and one inside the Strong Zone. Kill the player and train a sniper on the Respawn Point inside the Strong Zone. The player will respawn at one of the two control Respawn Points. This demonstrates that the Strong Zone no longer was capable of maintaining a weight on the Respawn Point within the Strong Zone when LOS was applied, and the control Respawn Points had the greater weight.

Kill the player and keep LOS away from all Respawn Points. Even when the death influencer is centered over the Respawn Point within the Strong Zone, the player will always respawn at the Respawn Point in the Strong Zone. The Strong Zone is applying so much positive weight to the Respawn Point that the player has no choice but to respawn at that Respawn Point.

Remove one of the control Respawn Points and repeat the test. At no time will the player respawn anywhere but within the Strong Zone. This shows that the LOS does not overcome the Strong Zone when configured with as many or more Respawn Points inside the Strong Zone as outside.

More Information

For details on the behavior of LOS overcoming the Strong Zone, see the Respawn Zone Anomalies article.

Work Around

Make sure the following conditions are met, and the LOS influencer should never cause a player to spawn outside his team's Strong Zone.
1. Have so many Respawn Points laid within a team's Strong Zone that there is no way they can all become obstructed and influenced by LOS simultaneously. This will ensure that at least one Respawn point is available for spawning within the Strong Zone.
2. Ensure that the number of neutral and team assigned Respawn Points outside a team's Strong Zone is less than the number of neutral and team assigned Respawn Points inside the team's Strong Zone. (Of course, you would never have team assigned Respawn Points outside the team's Respawn Zone, but for completeness I needed to add it here. If you do have team assigned Respawn Points outside the team's Respawn Zone, they would appear incorrect during map analysis, but would actually contribute to the total count of Respawn Points available for the team outside their Respawn Zone.)


Anti Zones Do Combine Without Strong Zone

Bungie documentation states that Anti Zones do not combine with each other unless within a Strong Zone. Tests have demonstrated a behavior that appears to contradict the documented behavior. This has yet to be confirmed in any way by Bungie or 343i.

Test Case

Combine 10 Anti Zones over a Respawn Point. Set another Anti Zone some distance away with another Respawn Point. Kill the player that spawns at either Respawn Point. Notice that the player will spawn at each, but will spawn more often where there is only one Anti Zone than multiple Anti Zones. The death influencer will drive the player to the other Respawn Point, but the fact that there is a tendency to favor the single Anti Zone strongly suggest that Anti Zones do combine in the absence of Strong Zones.

Work Around

There is no work around, just an awareness of how the bug manifests. Just don't overlap Anti Zones if you don't want them to combine.

Invasion Slayer Fire Team Assignments Not Honored

The invasion slayer setup article from Bungie states that respawn zones honor fire teams. Testing shows this is not true (that a player can respawn in any fire team respawn zone). It is not clear if the documentation is incorrect or if there is a bug in the Spawn Engine. For this bug, Invasion Respawn Zone is any object with a volume (I suggest a hill marker) with the game type label INV_SLAYER_RES_ZONE.

Test Case 

Setup a map to work with Invasion Slayer. Create three Invasion Respawn Zones, and assign each to a unique fire team. Spawn Sequence = 0 for Fire Team 1, 1 for Fire Team 2, and 2 for Fire Team 3. Spawn Sequence = 3 is for all Fire Teams and is not part of this test configuration.

Play the game and kill a player. You will see that they can choose any of the three Invasion Respawn Zones.

Work Around

None at this time.


Invasion Initial Spawns Honor Fire Teams

According to Bungie, Initial Spawns for Invasion do not honor Fire Teams. Yet, the Initial Spawns on all Bungie Invasion maps were setup to honor Fire Teams and tests tend to support the conclusion (though empirical evidence is in and of itself inconclusive) that Fire Teams are in fact honored.

This is classified as a documentation error and not a bug.

Test Case

The test case is already provided by Bungie maps.

More Information

It is assumed that the article was in error, and that the Bungie maps demonstrate the intended use of Initial Spawn Points' Fire Team assignments.

Work Around

None

Summary

These are the known spawning bugs with the Halo: Reach engine. If you know of any other bugs, please send me an email. Once I confirm the bug, I will post the bug here in this article. I may need to contact you for more information or even a film clip and map to demonstrate the problem with.

If you employ a work around and a bug still manifests and you feel that the work around did not solve the problem when it should have, I want to see both the map and a film clip showing the problem. It would help to analyze the map to see if there is more information to present to 343i.

It is my hope that 343i will look at this article and improve Halo: Reach by fixing these bugs. While these bugs represent corner cases, they also represent cases that have been encountered by forgers in the community in the course of forging maps (as opposed to forgers specifically looking for bugs).


________________________________

[1] See the article on Symmetry settings.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.