halo.bungie.org

They're Random, Baby!

Spawns and You: Re-read this in 5, 4, 3...

An Overview

      While there have been a few writeups on the Halo 3 spawning system, I feel they only went halfway with the facts and just assumed the rest. Everything in this writeup has been observed and tested over and over again with my "spawn lab" of sorts, high in the sky of Sandbox. While this is tested with and applies to Halo 3, many of these concepts might be applicable to Reach. What follows is both a dissection and guide on the spawn system and how you should be using it to it's best potential.

Spawnlab: DSB

spawnlab
Totally Not A Modified Version of Grifball High

      In order to test more situations involving spawns easily, I used this map to create test layouts in the Sky Bubble of Sandbox. There are no spawns except the ones I place up here, so it is safe from being influenced by latency (for Live tests) and allows me to block all the Emergency spawns on the bottom of the map. Fusion coils are used to mark spawns so that it is easier to measure areas of effect and distance when not in the Forge game mode.

      Multiple configurations of this map were made to test all possible situations and map configurations. The configuration pictured above named "Linear" is just one of many.

Spawn Points

1) Types of spawns:

  • Normal "Forge spawns". Represented as blue discs with a directional pointer. A maximum of 100 can be placed on a single map.
  • Single mode Forge Spawns. These spawns only show up under certain gametypes while in Forge. As far as I can tell, the only map that has single mode spawns is The Pit (up in the base attics)
  • Starting Spawns. Represented with a glowing column of light. Starting spawns determine the initial spawn for teams or players in FFA. They are not used for respawn purposes. You only need one for each team to make a map work. Some maps like Last Resort use multiple Starting Spawns, but this is likely due to the fact that Last Resort has 100 default spawns, so they had none left over for the starting area.
  • Starting Spawns have the most weight at the beginning of a game and the most weight for a player when they first enter a game. If all emergency spawns are blocked and only a Starting Spawn is available, and you enter the game, you will be stuck in a black screen until the person walks forward, at which point you will be spawned in.
  • In rare cases, a host will take a while to figure out that you have joined a game (due to latency). Since people walk forward after spawning, it will see an available starting spawn and spawn you right behind a person. To combat this, set your map up with at least 4 different starting points (for Multi Team), which should make it less likely to have this occur. At this point you can usually let the engine determine where everyone else should start.

Obstructions and Line of Sight

      Spawns ignore geometry, line of sight, and weapons fire over them. Think of spawns as a 3D cloud of points (x,y,z). Think of the players as a sphere centered around their x,y,z point. This sphere moves around with the player and intersects with spawns. For example, it's possible to stand on the other side of a wall and buddy spawn people onto a spawn that's on the opposite side of the wall from you.

      Line-Of-Sight blocking would be extremely computationally expensive for multiplayer (you'd have to cast LOS rays from 16 players) and would be too easy to just stareblock and spawncamp. After staring at a spawn for a good line time with an open spot behind me that was just as 'available', them player was never blocked from spawning on it.

      All spawn points have a base 'value' of 1000. The value that players and objectives add or subtract can only be guessed at, however. We do not have access to any debug information in films.

Spawn Areas

1) Types of spawn areas:

  • The normal 'respawn area". Every spawn that a spawn area intersects will be used by said spawn area. You can define up to 8 spawn areas for a map, for any team and 'neutral'.
  • Flag At Home Spawn. This spawn zone is only active as long as the flag for a team is on the post.
  • Flag Away Spawn. This spawn zone is only active as long as the flag for a team is off the post. As soon as the flag is returned or captured, this spawn zone is deactivated.

Certain objectives also act as spawn areas:

  • A captured territory acts as a spawn zone when captured by a team and will add weight to spawns that are inside of it. Keep this in mind when setting up your map for this gametype.
  • A flag sitting on it's post acts a small spawn area and adds weight to spawns near it for its team. When placing a flag, care should be taken to make sure it is not close to many spawns.

      In Team Slayer, a host migration will usually cause the spawn zones to "flip" between teams. Keep this in mind for your slayer setups; it's usually a good idea to make each base as equal as possible for Slayer. This does not happen in objective modes, so if you want a slayer map with 'offense' and 'defense' bases that you can count on being properly spawned in, use the VIP gametype.

      Spawn Zones will only enforce spawns within them for objective gametypes. The only way un-zoned spawns can be used in a objective team game is if there are more than two teams, or a rare situation of the spawns being completely unusable. Using a "neutral" spawn zone is more for FFA; the Attacker/Defender spawns will be considered first in team games, while FFA will only use the Neutral spawn zone. This lets you do stuff like have teams spawn on the outside of a map - and then have people stay clumped near the center in FFA.

      Contrary to popular belief, you CANNOT add weight or reduce the weighting of spawns by stepping into a spawn zone. I know, I thought this myself in the earlier days of Halo 3. But after extensive testing, I have proven that standing in a spawn zone will not prevent enemies from spawning in it (when spawns outside that zone are available) and will not make teammates spawn in it. Spawn areas simply mark the spawns, and hence why Bungie mostly uses only one spawn area per team on their shipping maps.

Spawn Weighting

Things that weight a spawn towards you spawning in it:

  • The flag on a post. If a spawn is placed directly next to your flag, you will spawn on it a lot. The weight is so heavy that you will be spawned right in front of an enemy that is right next to a spawn point next to the flag if no other spawns are available.
  • A teammate has walked over or been in close proximity to a spawn in the last 7 seconds (no, I'm not kidding. It's 7.)
  • The weighting is even greater if that teammate just spawned.
  • You have captured a territory that overlaps a spawn.
  • The team has just spawned, in which case the spawns around the "Starting Spawn" have weight added to them.

Things that reduce a weight for a spawn:

  • An enemy has been on or in proximity of the spawn for the last 7 seconds.
  • A teammate has died near a spawn in the last 7 seconds.
  • You spawned and died within 7 seconds of spawning there. Two deaths in a very short period of time should usually send you to another part of a map with few spawns.

spawn away!
Deaths will send a player to spawn away from his demise.

      A teammate near a spawn will cause other players to spawn there, which is also known as the 'buddy spawn' effect. The buddy spawn has a heavier weight than a spawn zone, so keep this in mind while designing a map - players can force their team to spawn outside a marked zone on neutral spawns! I have personally tested this out in Big Team Battle (Avalanche) by standing slightly behind the side mancannons when my team encountered a bad situation near the shotgun spawn. I induced a series of buddy spawning where each person spawned, moved forward, and the next dead teammate spawned shortly after in the same spot. In about 10 seconds, the entire 7 people that just died had all spawned at the mancannon and were able to simultaneously leap to the laser spawn to regain it.

Spawn Values and Effector Values

      Base spawn value: 1000 (known from a Bungie Weekly Update). All guessed values have a * next to them - these are close approximations that SHOULD work when doing the math for a situation.

Item Type Weight (+/-) Estimated Effective Distance (in Sandbox Grid Tiles)
Spawn Point 1000 (neutral) N/A
Spawn Area, Slayer +300* N/A
Player, Enemy -500* (proximity dependent) 5
Player, Ally +500 (proximity dependent)* 5
Player, Death -700*, reduced by +100 per second 4-4.5
Flag, Own +700* 3-3.5
Territory, Ally Captured +300* N/A

      Important thing about player death weighting! You must consider the fact that right before a player died over a spawn, they added weight by being on the spawn. So the weight of a spawn is not the Base - Death, but Base + Respawn Area + Player, Ally - Player, Death. With no other factors, this means a spawn has a weight of 1000+300+500, or 1800. This is why you will usually die two times before being sent somewhere else - the first death will reduce the weight of the spawn to 1100. Since it's usually 5 seconds to respawn, the weight of the spawn will be back to 1300 by the time you are put back onto it. When you die again, the weight will become 600. By the time you respawn then, the weight will be 1100, which is less than all your other spawns at 1300, therefore sending you elsewhere. While you wait to respawn, no teammates should be sent to where you just died (unless all the other spawns are deweighted considerably)

Examples

neutral spawn setup

      Here we have a neutral spawn setup. The actual layout of the map does not matter, because the engine doesn't care about any walls or objects laying between the spawns. Every spawn in this setup has a weight of 1000.

      If you were to start a game of Slayer on this map, the spawns would be completely random due to the lack of Starting Points. Whichever teammate spawned first would determine where everyone else started. Spawns would be determined by a combination of deaths, player positioning, and spawn blocking.

now with more zones

      Now we've put some spawn zones over the spawns. The spawn zones add weight for a certain team in Team Slayer. Without a Starting Point present, every spawn in the zone is an equal candidate as a starting position. The unzoned spawns have a neutral weight of 1000, and will not be selected as a starting position for either team.

      Team Slayer is a special case in that the spawns in an opposing team's zone are still technically considered by the engine for spawning. The weighting numbers (color coded) are represented as such. If one team were to successfully block the opposing team spawns AND the neutral spawns, the engine will place them on spawns not zoned for them! This is why it's important to have plenty of spawn points and distance between said points.

careful

      (It's also why spawn zones are not a good idea on small maps for Slayer - it makes spawn camping too easy, as it limits the engine's ability to put people in a safe place. Base defense is not a primary goal of Team Slayer, so there is no need to force people to spawn like they are. But I could write a whole other article on Spawn Camping and how it effects people's opinions of maps.)

      Now! Let's introduce two players into the field. Note how player positioning affects where the engine will choose to spawn. Please remember that the weights are an educated assumption; actual engine values may differ.

introducing players

      If the players continue to stand where they are, teammates will be spawned on the spawnpoints directly next to them if no other influences are around. If the player has just been put into the game at the same location via a Starting Point, his teammates are guaranteed to spawn at the points next to him.

      Now, let's assume that neither player has moved, and that the blue player has sniped the red player. The weight of the spawns around the death are roughly changed like so:

changing weights

      Remember that the player standing next to the spawns added weight right before he died, so we're subtracting weight from that. Not the base amount. This weighting is also only at the moment of death - by the time the player respawns, all the spawns in the zone will be equally weighted and he can potentially respawn right where he just died. This is reason number two why Spawn Zones hurt small maps and lends itself to spawn camping. A quick death as he respawns will definitely send him to the lower spawns.

      In another situation, the blue player has assassinated the red player while standing on one of their spawns.

blocking a spawn

      The red player will definitely respawn at the lower spawns when he comes back. No multiple backsmacks for that jerk blue!

      These examples are stripped down to the basics to demonstrate the basic mechanics of weighting. In the real world, this map would be pretty bad spawn-wise. It has too few spawns for either team and would be way too campable.

Spawn Blocking

Things that prevent you from spawning on a spawn:

  • A player is standing on it
  • An object large and solid enough to block the spawn is sitting on it. A certain type of scenery box on the Legendary maps is actually hollow and does not block spawns!
  • A teammate is standing on it.

If all normal spawns are blocked, the game will go to the hard coded "emergency spawns" as backup.

Emergency Spawns

      From all my testing, Emergency Spawns do not influence the spawn system under normal conditions. The only time you can spawn at one is if all available spawns are blocked. If all emergency spawns are blocked, the player will be stuck at a black screen until they choose to quit the game. All maps in Halo 3 have these emergency spawns hardcoded into them.

Engine And Gameplay Observations

      The closer the spawns have to be next to each other, the harder the engine has issues with them. Blackout, for example. The spawns are so close that the engine has to keep "throwing the dice" because of the close proximity means that a billion things are increasing and decreasing weight spawns at the same time. Your sphere-of-influence was clearly designed for bigger Halo 3 maps and not Halo 2 remakes.

      This is why the Narrows without spawn zones is better, because Narrows with spawn zones is a campfest. On a smaller map, no-spawn-zones work because the teams spawn WITH each other, but not in 100% predictable locations. If you're getting massacred, stop running out by yourself and wait a moment for your teammates to spawn on you. Spawn zones make sense on bigger maps because they are big enough to let your team regroup and push back the opponent (and are too big for opponents to set up spawn blocks).

      Have I mentioned enough times now that putting spawn zones in small maps for Slayer is a bad idea? All getting spawncamped will do is make a player veto your map or quit a game, so you should go out of your way to make it hard to do. Remember the hard rule of map design - assume everyone that is going to play your map knows all the glitches and tricks and is a complete asshole to every person they meet. Do not assume people will be nice and not exploit your 5 spawns that are sitting out in the middle of a field.

Spawn Distribution

      The actual layout of your map's spawns must also be considered when placing them. Putting a lot of spawns in one area and little in another will create an imbalanced spawning setup or will result in a heavier spawn rate in an out-of-way portion of the map. Making people hoof it back to the battle is not fun if you could have put them safely closer!

      An easy way to determine your map's spawn weight by distribution is to simply fly above it in Forge. You can even use the skybubble as a lazy grid layout! For this example I am using my ATLAS submission "Platte":

Platte

      I simply went through the Forge-only teleporter so that the camera could get up into the skybubble. Now, start counting the spawns inside of each square. For this map, I am considering 2-3 spawns "medium/purple", 4+ spawns "heavy/red", and 1 spawn "light/blue". After counting the spawns in each square and color coding them, I get a nice overview like this:

Platte colored

      Now it's very easy to tell where most of my players will start out! This helps determine problem areas and spawns much faster than pulling enough people together for a game and then watching the film. In earlier versions of this map, my spawns were safe and no spawn camping happened.. except I had too many spawns on the top side of the right base. This made it so the offense team on 1 Flag was always encouraged to head to the bottom exit, as most people would be spawning behind them and not in front of them.

      With some adjustments and testing, the final spawn distribution above was reached. Spawns were shifted downwards so that there was a roughly equal chance of spawning on either side of the Defense base. Spawns were shifted inside the Defense base to the left so that the Offense team would have a reason to use the teleporter. A couple of spawns were added to the "no man's land" in the middle of the map to facilitate FFA. The 'core' of each base's spawn is roughly in equal positions on the map. The final tweak was to remove all but two spawns from the top floor of the Defense base so that Offense were rewarded for pushing the defenders off the top.

      If your players are complaining that it takes too long to get into a fight or that it always seems a team is taking the flag or bomb in one direction, it may be time to look at your map's spawn distribution. Clever use of the combination of spawn zones and spawn distribution should result in use of most parts of your map for travel and objectives. Players can adapt to and figure out how your spawns work in as little as 3 games. Your map has to hold up to the other 997+ times they will play on it (if you made a good map) ! Symmetrical maps should look pretty much the same on both sides when using this technique.

Spawn Placement Do and Don'ts

  • Don't place spawns inside a killball (the killball does not block the spawns, and you are a jerk)
  • Do place spawns so that they face towards the center of the map or opposing base. Players that have to turn themselves around to get into the action will hate you.
  • Do place spawns so that they are not staring directly into a wall - this will lead to people not knowing where they are respawning at.
  • Don't place spawns out in the wide open, unless you absolutely have no other options. Stand on top of a spawn and spin around with a sniper rifle. Every place you can shoot with the rifle is a place that can spawncamp that spawn.
  • Do place grenades and weapons nearby a spawn to encourage players to explore the map for weaponry.
  • Don't place a spawn directly next to a movable object on Foundry such as a dumpster. The object can be moved to block the spawn too easily.
  • Do place spawns on TOP of a dumpster or other movable object if you have no other places to put them, but remember to not make it too high up!
  • Do spread out your spawns as evenly as possible over your map. The nature of the amount of spawns in one area will 'weigh' that area towards being spawned in over others.
  • On symmetrical maps, make sure each base has the same number of spawns in the same locations. This is so the players expect the same experience independent of the side they are on, since the 'bases' are not specifically Red or Blue in Team Slayer.
  • Don't overlap Starting Points and Respawn Points (a player may end up in blackscreen)
  • Don't place spawns closer than roughly half a Sandbox grid apart. On other maps, you should be able to walk between spawns without touching either of them.

Number of Spawns Minimum For Gametypes

      While maps will work with less, they won't work well, or may explode in your face. If you don't have enough spawns, many players will probably be looking at black screens or delayed spawns after the countdown finishes. Or even fun stuff like spawning on top of the opposing team's flag.

Gametype Minimum Spawn Count Optimal Spawn Count
2v2 (Team Doubles) 10 25
3v3 25 40
4v4 (Slayer) 40 55-60
4v4 (Objective) 50 70
8v8 (Big Team Battle) 75-80 90-100

      Foundry can generally handle up to 4v4 or 5v5 games comfortably. Sandbox can handle BTB comfortably on the ground level and in the sky. However, most maps you will make in the crypt will be better suited to a maximum of 5v5. And no matter what you do, 8v8 on Cold Storage will never be fun. End of story! (Unless you like assassinations)

"But I saw this on Youtube"

No, I don't care what you saw on BESTSNIPA1337's Youtube channel. You cannot:

  • Block spawns with grenades. In most videos where a grenade throw is purported to show spawn blocking, they have recently killed a player at that spot already, and his respawning teammates have caused him to be spawned away from that location.
  • Block spawns with bullet fire. Really? They don't block spawns, and even if they did they're only around for one frame. You would have to be luckier than a guy holding a 4-leaf clover, a rabbit's foot, all while being simultaneously struck by lightning to succesfully block a spawn with bullet fire.

Too Long, Didn't Read

      Did you just scroll down to the bottom? Shame on you! You skipped over all the science that I put together to demonstrate good and bad spawn creation practices. However, you can follow my 7 Tenets of Spawn Placement easily!

  1. Thou shalt put as many spawns on the map in all logical safe locations so thine Engine can make the best decisions
  2. Thou shalt not use respawn areas on small maps in Team Slayer
  3. Thou shalt use one and only one starting point for each team in all gametypes as to not confuse the Engine
  4. Thou shalt face all spawns towards the enemy, for it is good
  5. Thou shalt not clump spawns around the first territory in any map, for thy players will surely be spawncamped
  6. Thou shalt leave every spawn point at 'neutral' and use the Spawn Zones instead to mark yonder spawns
  7. Thou shalt check thine spawns for obstructions and make sure all spawns are equally spawnable under the Engine's eye

Thanks and Credits

Text written and ©2010 Michael 'FyreWulff' Kidder

  • Bungie, for Forge and Film mode (which made this much easier to write)
  • Chad 'Shishka' Armstrong, ATLAS Feedback posts
  • Louis Wu, for hosting this writeup!
  • The Penny Arcade Forums Halo community, for their willingless to be my spawn test grinders at a moment's notice.
  • NOKYARD for his Grifball High map, which saved me endless hours making a flat floor in the skybubble of Sandbox

Special thanks to Ratsult2, as I probably sniped him about 3,000 times while testing spawns.

You may copy and re-use the text of this writeup in your own works as long as you credit the author and include a link to the original.



bungie.org