An open letter to 343 Industries
It is clear by now that there has never been a Halo title that
employed Respawn Zones of any kind that impacted the spawning of players
based upon whether an enemy or an ally was in the zone, near the zone,
or in a neighboring zone. All of those claims were mere forge lore. But
as erroneous as those claims may have been, they describe what I have
come to believe could very well be the better spawning model for Halo.
This post is my open letter to 343 Industries, to propose a new Spawn
Model for the Halo 5 game, should 343 Industries wish to retain the
engine selected Respawn Point paradigm. The intent is to show how a new
approach to zones can potentially simplify the coding within the engine,
simplify the understanding of the spawn engine for forgers, and make
spawning much more safe and robust during game play. To that end, all
suggestions in this blog post are made freely available to 343
Industries and Microsoft Corporation, and I place into the public domain
all of the materials, ideas, inventions, or anything else that this
blog post presents.
Today’s Spawn Engine
Up until now, Halo spawn engines employed algorithms to select points
for spawning based upon a “best choice by total influence”. Each
dynamic event, each players’ position, each players’ LOS cone, each
static influence (zones) would have a weight value that were added
together, and the point with the highest weight would be chosen for
spawning. The problems I found with this approach were (a) the
influencers are too numerous in their effects for forgers to fully
understand, (2) the influencers on the forge canvases were set and thus
provide a one size fits all maps, and (3) the schedule of influencers
(their sizes, weights, decays, etc.) are just too complicated to tune –
we still haven’t found the sweet spot.
Halo’s Next Generation Spawn Engine
Recently I have been thinking about the forge lore of how a zone
changes its influence based upon players being in the zone. The more I
thought about how it could work the simpler the entire spawn model seems
to get. So I wanted to start from a blank slate, essentially designing
the spawn engine from scratch, The following are the key elements of the
new model.
1. A Respawn Point creates a point of spawn.
2. Respawn Zones can disable Respawn Points that are in them when the zones go
hot.
3. A Respawn Zone goes hot if an enemy is in the zone or any munitions enters or explosive arms within the zone.
4. The spawn engine can select a Respawn Zone first by a priority
label (primary, backup, and emergency), then by random tie breaker.
5. An ally in a zone favors that zone over others zones of same priority label but not over a higher priority label.
6. A random value is used to select the Respawn Point within the chosen Respawn Zone.
7. Respawn Zones and/or Respawn Points can be assigned to teams, game
types, and other properties as they can in today’s current model.
Notice that if someone dies within a zone there is no impact on the
ability of the player to spawn in that zone. Indeed, it would be
considered safer because there are no enemies present in the zone
despite the very recent death that occurred there.
Notice that I did not mention Line Of Sight having any impact on
Respawn Point selection, because the Respawn Zones define the lack of
danger from LOS.
Spawning Out Of Sight
Based upon this spawn model, the forger can then create zones that
guarantee spawning out of sight of an enemy. Instead of the PE Primary
being used to determine if an enemy is “too close”, a zone that covers
the room’s interior can be used to determine if an enemy can see the
Respawn Points in the room by virtue of being in the room themselves?
This also applies to outdoor spawning. Imagine placing a spawn in the
open field. From that position you forge a zone so that wherever you
see the edge of the zone you cannot see beyond it. Therefore, if an
enemy is in the zone, they can see the Respawn Points. Using hill tops
and other natural elevation, the sizes of these zones do not need to be
overwhelming. But being customized, they make spawning in the open much
safer and much more efficient than a PE Primary ever can.
This new model should have the impact of eliminating one team’s
ability to push the other team into a spawn trap. Instead of pushing
the enemy back against their edge of the map, this new model would allow
forgers to provide safe spawns anywhere, even within a few units
between two enemies – so long as no enemy is in the zone itself (in the
room, cave, corridor, etc.). The forger can decide if the wall between a
spawn point and an enemy is sufficient protection.
Spawn Engine Software Benefits
The current model requires iterating through various influencers for
each Respawn Point and calculate a weight for each Respawn Point. In the
proposed model, the software should simplify in the following ways.
1. Calculating the distances between each enemy and each Respawn
Point is eliminated. Instead, the intersection of each enemy and each
zone is performed (faster than calculating three dimensional distance,
and less number of calculations to perform).
2. Integral weight calculations for each Respawn Point are reduced to a boolean status calculation for each Respawn Zone.
3. Associations between Respawn Points and Respawn Zones can be pre
determined and cached either at the start of game or when the map is
saved in forge.
4. All influencers drop away.
5. Respawn Points are not included into the selection process until a
Respawn Zone has been chosen. And then the selection of a Respawn Point
is simply a random pick out of the hat. So the bulk of the iterative
process involves only Respawn Zones.
Forging Benefits
The current model requires a deep understanding of how the
influencers affect the spawn engine. The proposed model simplifies that
entire design to one of either a Respawn Zone is hot or it is safe.
1. A map of literally any size can be created with safe spawning.
2. The forger defines areas that can be spawned in that the forger
guarantees are safe from enemy eyes if an enemy is not in the zone.
3. The forger can define which zones are intended as primary use
zones, which are to be used as secondary or backup, and which zones are
the emergency zones, by using a priority label. This allows for each
zone further from their base having a lower priority value.
4. Knowing that an enemy cannot be in the room as a player that
spawns in the room, the Respawn Points can safely be located anywhere in
the room, including in the middle of the room. This offers more
advantages to forgers who want to improve orientation during spawn.
Samples
Here are some examples showing how the zones would work. The first
picture shows a basic room with an enemy just on the other side of a
wall. The forger creates a zone that allows the player to spawn in
safety out of sight of the enemy while also looking straight out the
doorway for good orientation. The Halo 4 PE Primary of 9.5 units is
shown as a reference only to demonstrate how close the spawn point is to
the enemy and to demonstrate how the forger decided that the wall was
sufficient protection by the way the zone stopped at the wall.
The next picture shows Monolith, a small, predominately outdoor map. I
went into forge to locate the positions of the points and the zones.
What is not immediately obvious is the elevations that block LOS to the
points from outside their corresponding zones.
The third picture shows outdoor spawning in one section of Longbow. I
used this to show how outdoor elevation can be used to shape the
necessary zones to spawn out of sight using existing terrain and
structures. And the point inside the structure is in a zone that need
extend just a little beyond the doorway.
Keeping The Schedule Of Weights
If you decide to continue with the current schedule of weights, then I would recommend the following changes.
In the first picture I show the weights that we know of for Halo 4.
In this picture, only the imminent danger and LOS influencers are known
to be off the chart.
There are two problems that this schedule has demonstrated in Halo 4.
1. The PE Primary (the enemy proximity primary negative influencer)
is too large. As a result, on small maps they can overlap and make their
intended purpose of no use, because when all spawn points are driven
equally low, some points can be chosen that are literally right next to
an enemy player. There is no differentiation based upon distance any
longer.
2. The respawn zone can be over powered by the PE Primary and force
players to spawn away from their base for games like CTF. This was
clearly recognized with the introduction of Ricochet as you gave the
Respawn Zone a much higher weight for that game type.
In the next picture I present what I think would help refine the schedule for the next Halo.
In this proposed schedule, the weight axis is broken into four
different magnitudes to show that some influencers cannot be overcome by
any combination of those below in a lower magnitude. Here are some of
the features:
1. All influencers are simplified into a straight line.
2. PE (enemy proximity) does not have a flat region, so no matter how
far or near you are from an enemy you can know that you are always on a
gradient slope. This is critical for small maps, because no matter how
small the map, any two spawn points will always reflect a true
difference in distance and therefore also an implied safer spawn by the
further point. This is what was missing with Halo 4’s schedule and this
is what prevented us from forging small maps with correct spawn
behavior. The PE is also in a magnitude above most other influencers so
that spawning away from the enemy remains a key priority in the
schedule.
3. Imminent danger (tank shells, rockets, explosives, etc.) remain
more dangerous than spawning near an enemy. I think you would agree that
this is necessary.
4. The respawn zone takes the place as the unbreakable zone as it was
in reach, providing absolutely solid game play for any static spawning
games. With the PE being a slope instead of a flat region near the
enemy, players will continue to spawn in their respective zones as far
from the enemy as they can.
5. LOS remains off the charts and given adequate spawn points within a
zone should not present a problem breaking the static spawn behavior.
(This was also the case in Reach and it never presented a problem due to
the numerous spawn points).