Sep 12, 2011

Symmetry Settings

Updated!  
When a forger wishes for some objects to appear on the map for only some game types and not others, he has two tools available for his use - the object's SYMMETRY property and the object's GAME TYPE property. This article will explore how these two properties could be leveraged to make optimal spawning of objects.

Table A below can be confusing at first, so let's go slowly in understanding how it is put together. There are many game types provided for use with the Reach engine. Table A lists many of them, but is not exhaustive by any means. It tries to present both the SYMMETRY property settings and the GAME TYPE property's general settings matches.





 TABLE A
  • A = Asymmetrical
  • S = Symmetrical
  • blank = does not apply
  • Team = TEAM_ONLY matches
  • FFA = FFA_ONLY matches
  • No Match = Neither TEAM_ONLY nor FFA_ONLY will match
  • For those items marked with (all variants), there actually may be an exception, but I haven't found one yet. If you find one, let me know and I will update this list.


For example, an object that should spawn for a slayer game could spawn if its GAME TYPE property is set to SLAYER. In all slayer games, the object will spawn. For any other game types, the object will not spawn, because it can only match against SLAYER game types. It will simply not exist on the map for the other game types.

However, if the object's GAME TYPE property is set to TEAM_ONLY, then it will spawn on the map for any team oriented game type, including Team Slayer, but it will not spawn for FFA game types, including (FFA) Slayer. So a forger could have an object spawn on the map for team oriented games only and never for FFA games. Conversely, a forger could have an object not spawn on the map for team oriented games, but rather for FFA oriented games, by setting its GAME TYPE property to FFA_ONLY.

For many game types, the team variant's symmetry setting is the same as the FFA variant's symmetry setting. But this is not always true. Take Head Hunter for example. The FFA game type variant is configured as a symmetrical game type, while the team game type variant is configured as an asymmetrical game type.

General Characterizations 

There are two general rules that you can follow, but they both have the occasional exceptions. I present them here to give you a fresh perspective on how these properties characterize game types in general.

1. If a game is an objective game and both teams are acting as defender and attacker at the same time, then the game type is symmetrical; otherwise, it is asymmetrical.

2. If a game is an objective game, then it will only be team orientated; otherwise, it will most likely include both FFA and team variants.



Invasion, Infection, and Race, Oh My!

Finally, the strange feature to note is that for Invasion, Invasion Slayer, Infection, Safe Haven, Race, and Rally game types, the GAME TYPE properties will match to their respective game type labels, but they will NOT match against either TEAM_ONLY nor FFA_ONLY. This is really an interesting twist.

You can, for example, have a wall spawn for Team Slayer and every objective type game, but not for Invasion game variants, by setting its GAME TYPE property to TEAM_ONLY. You could have a wall spawn for Slayer, Oddball, and other FFA game types, but not for infection game variants, by setting its GAME TYPE property to FFA_ONLY.

Even though Invasion is clearly a team oriented game, TEAM_ONLY can be used to spawn objects for every team oriented game type, except Invasion. This can be a powerful tool for some map designs.

Applying What We Have Learned

Take the case where you want your map to support Slayer (duh...), Flag, Bomb, Infection, Oddball, and Stock Pile. Let's begin with Stock Pile. We know that we want to have the two Stock Pile goals about 30 units from each other. Let's assume that these represent the two teams' bases. Now we want a Respawn Zone for each team's half of the map.

How should we go about setting up Respawn Zones for such a map if we want to support dynamic spawning for Team Slayer and Team Oddball? For this, we assume that 343i will eventually fix (read that, "remove") the Stock Pile induced 15 unit radius team Respawn Zones, and so we plan for both the broken version today and the fixed version tomorrow.

We want team Respawn Zones for only flag, bomb, and Stock Pile. So we need three Respawn Zones for each team. We want to set their GAME TYPE properties to their respective game types.

Another Case...

What if we do not want any dynamic spawning for any type of team oriented game? Then we need only one Respawn Zone for each team, and we set their GAME TYPE properties to TEAM_ONLY.


Summary

This information is useful in creating maps where objects must appear for some game types and not others. Thinking through the various game types a forger wishes their map to support, special combination of SYMMETRY and GAME TYPE properties can produce unique and optimal behaviors in spawning map objects.


1 comment:

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