Endzone & Ring Prediction - ccamfpsApex/ApexLegendsGuide GitHub Wiki

In 2020 the algorithm for how zones pulled was changed by the developers. After that point, many teams stated that predicting zones was too hard and ditched it as a viable strategy to use all the time. This along with economy changes led to what we now call edge play. However, zones can be predicted with greater than 90% accuracy in the current system and playing zone can thus be a viable strategy depending on dropspot/game specifics. Gnaske from the EMEA region predicted with >90% accuracy in a tournament a few months after the zone changes which gave evidence that somebody had figured out a way to predict them with high degrees of success. Since that time other folks have claimed high accuracy for predicting endzones such as Raven, Teq, SeaLion, ZDavis, & some random dude (myself). I'm sure there are others out there not listed who can also predict with high accuracy.

Vector Addition & Subtraction

It's time for Math!

Triangle Method

Draw the vectors one after another, placing the initial point of each successive vector at the terminal point of the previous vector. Then draw the resultant from the initial point of the first vector to the terminal point of the last vector. Read more on vectors here

Vector Addition

Vector Addition

Vector Subtraction

Vector Subtraction

What are the vectors we need in Apex Legends for predicting zones?

First, we need to think about the map as a coordinate system (or grid) where the middle of the map is at the origin of our grid as below. To find the middle of any map, draw 2 diagonals from the corners, X marks the spot!

Let's focus on predicting Ring 3, meaning that we have the Ring 1 & 2 information. Ring 3 prediction is what teams do off spawn, i.e. they scan for Ring 2 and then predict for Ring 3+.

Ring 3 Raw Vector Prediction

  1. Take the vector direction from center map to center point of ring 1 as V1, V1 magnitude is along this orientation where the zone 2 edge intersects. OR take the vector direction from the closest point along the ring 1 edge to center map, the magnitude is wherever the vector doesn't intersect with ring 2.
  2. Take the vector from center ring 1 to center ring 2 as V2.
  3. Add or subtract the vectors to get V3'. Raw vector prediction for the endzone is the end of V3' with origin center ring 1.


Above, we took the vector direction from the closest point along the ring 1 edge to center map as V1. There was no intersection with ring 2 so the vector doesn't change at all. Then we calculated vector V2 from the center of ring 1 to the center of ring 2. These are the two vectors we will work with.



Prediction with the vectors doesn't have to be pinpoint. Going to within 50-75m will suffice for most predictions as the way to play such space doesn't change within that range. In other words, our error margin is around 75 meters or the length of a wraith portal. Anything closer than that we count as a successful prediction. Additionally, think of the vectors as individual pieces that you visualize in your head with the map as a background. It helps when the vectors have to be added OR subtracted. Notice above there was an OR subtracted clause. The "random" zone pulls or "hard" pulls where the next zone shifts very differently to the preceding ones are such cases that we call counterpulls. Below, see the resulting vector in dark blue.



Ring 4 Raw Vector Prediction

  1. Take the vector direction from center ring 1 to center point of ring 2 as V2. V2 magnitude is along this orientation where the zone 3 edge intersects. OR take the vector direction from the closest point along the ring 2 edge to center ring 1, the magnitude is wherever the vector doesn't intersect with ring 3. Whichever is shortest is the usual candidate.
  2. Take the vector from center ring 2 to center ring 3 as V3.
  3. Add or subtract vectors to get V4`. Raw vector prediction for the endzone is at end of V4' with origin center ring 2

Prediction with ring information after 4 works in the same way but generally folks know where it's going to pull by then.

Counterpull

Let's define a counterpull as when any of the vectors have to be subtracted. Counterpulls happen more often than one thinks in the game but it typically occurs after ring 3 so the map change isn't that great compared to it happening on ring 2 or 3 as the map is much larger when it's ring 1 and 2 (the counterpull information would be shown after). If the zone counterpulls, it's likely to continue to yo-yo back and forth.

What is Raw Vector Prediction?

There are constraints for how zones should work. The vector method gives us a first pass on prediction but we need to refine it with other things we know about the game. We need to make a weighted decision from all of the information we know and use probability to help us determine where the zone is most likely to end. Let's go back to counterpulls and how probability affects our prediction. With every prediction we should be subtracting the first vector from the second as it's possible there's a counterpull. Most of the time however this vector lands on dead space or areas where there are few zones whereas our vector from addition will land on a "good" spot.

What if the counterpull is a tossup?

Assume it's ring 2 and ring 3 can pull towards the NW corner of Thermal at the 2 building compound (green) or the S/SE corner of Thermal at the scaffolding next to lava of ring 2 (red), it's a big gap.



Zone Prediction Thought Process

The team is choosing which location to pick and play for zone, at the risk of this being an edge spot if the ring pulls opposite. In this situation, I'd argue the team should play from the NW corner because that's an easier spot to play edge from in the event the zone pulls opposite. If the team plays S/SE and then the zone pulls NW, that's a harder edge play. Playing in the middle tower is also an option in this scenario because the team will likely make it past ring 3 either way as that spot is likely to be in until ring 3 in both scenarios. This is also dependant on enemy team density. Some locations may be packed full of teams and if the zone pulls out of that location, playing edge can become a fustercluck because there's so many teams that now have to rotate. It is game/lobby/team comp/etc dependent. We also need to consider which location has better early game vs late game spots. The southern part of thermal has very good late game spots compared to that of the northern side, leaning more weight on our decision to play the 2 building marked in green. Finally, there are a TON of zones that end in thermal but there are more that end north of the tower than south of it. Weighing all the pros of the green position, strong early game, weak late game (not many more spots open up late game), and more zones.

What are the constraints and what do we know about how zones work?

  1. The endzone for a game is chosen at the start of the game, the rest of the rings are built up in reverse from the endzone from Ring 6 to 1.
  2. For any Ring, more than 50% of the ring will be playable space. Rings pull away from mountains, out of bounds areas, and PvE areas. These areas can influence ring pulls and generally make prediction harder.
  3. There are a finite number of endzones and they are not evenly spread around the map. They are clustered. Use the clustering of zones to weight predictions.
  4. Zones typically don't end in buildings as to avoid heal offs. Most heal off zones have been removed.
  5. When the endzone is further from the center of the map, it's more likely to continue pulling that direction. Think zones that end in Trials, Thermal, Lava City, Dome, Climatizer. When it's closer to the center of the map, there's more variance in the zones. Think Harvester, Frag, Landslide, Lava Siphon. When the zone is pulling more towards the center and the consequent zones are hard pulling to the edge of the first or second ring, it's likely to counterpull and not continue pulling to the same edge.
  6. When the edge of the next zone is touching the edge of the current zone, it's likely to continue pulling that direction and not center up unless there's a counterpull. If there is a gap, no matter how small, between the edges of the current zone and next, it will pull more towards the center.
  7. There are "random" zonepulls, counterpulls, that can drastically affect the endzone. These are not entirely random however as the zone can still be predicted, it's simply a matter of when this occurs and the likelihood of it happening.
  8. The zone algorithm is the same for all the maps.
  9. If the vector lands on invalid zone space expect a counterpull or try the longer of the two primary vectors. Generally if the vector result lands on invalid zone space try a different vector combination.

Example of "centering up" Via Non-touching Ring Edges

When the closest edges of the rings are not touching, the zone is likely to center up more towards the middle than pull hard to an edge.
ringEdge

Ring Specs:

Round Wait period Time to close Damage/tick Ring Diameter after closing
1 3:00 3:45 2 1000 m
2 2:45 0:45 3 650 m
3 2:15 0:45 10 400 m
4 1:45 0:40 20 200 m
5 1:30 0:40 20 100 m
6 1:00 2:00 25 0.05 m

Before Ring 1 is shown, there's a minute at the beginning of the game where nothing is shown on the map. Ring 2 information can still be scanned at this time.

From the table, Ring 2 is larger than half of Ring 1 and Ring 3 is larger than half of Ring 2. This means that the center of Ring 1 will never be on the edge of Ring 2 and same thing for Rings 2 to 3. Compare this to the size reductions from 3->4 and 4->5 where each of the consecutive rings are half the size of the previous, meaning that if the next Ring pulls to the absolute edge, the center of the previous ring will be touching the very edge of the next ring. In other words, if it's currently Ring 3, Ring 4 can pull all the way to the edge of Ring 3, touching the outer edge of Ring 3 AND simultaneously touching the center of Ring 3. Visualize the rings in your head as games go on so you can get a sense of the size reductions.

TODO:

  1. Visual subtraction example.
⚠️ **GitHub.com Fallback** ⚠️