UNDER THE HELMET

Historical situations. Original simulations.

A real starting point makes a better challenge. Here is exactly what comes from history—and what we model.

The starting situations

The first dataset contains 90 distinct historical games: 30 each from the completed 2023, 2024 and 2025 seasons. Each opening is in the fourth quarter with 45–120 seconds remaining and the offense trailing by one to six points. The original score, down, distance, field position and timeout count establish your task.

We choose a pre-play situation, not necessarily the start of the real drive. The simulation diverges as soon as you make a call. Historical initial clock state is not reconstructed: this version starts each challenge with the clock stopped, so the first snap has no preparation charge. Subsequent clock state follows the modeled outcome.

How a play gets its result

A compact pool of 1,800 historical fourth-quarter plays supplies yards and outcomes. The engine looks for a matching play type, route-depth range, down, distance and field zone. When there are too few examples, it relaxes field zone, then down and distance, then route depth. The drive log records the source play, match level and candidate count.

Quick passes use short air-yard examples; deep passes use downfield examples; screens use throws at or behind the line. These categories are our model, not verified labels for the original play call. Inside and outside runs share the same historical run pool in this version. Choosing a different receiver changes the deterministic draw, but does not apply a player ability bonus.

Small conditional samples are not reliable estimates of tactical superiority. We do not present calibrated win probabilities, causal play grades, or a leaderboard of imaginary players. Feedback describes clock and down consequences.

Movement and time

The 22 circles and the ball follow original procedural routes. They illustrate the sampled outcome and end at the resulting field position. They are not motion-capture data or footage from the original game. Position labels are used instead of inventing jersey numbers.

Featured names are actual participants in that game, matched to season roster positions. The formation is illustrative and is not a claim that all of these players shared the field on that exact snap. Missing names stay as position labels.

Play duration is modeled from yardage and bounded between four and twelve seconds. The historical clock timestamps do not measure snap duration. No-huddle setup costs eight seconds on a running clock; huddle setup costs 25. Kicks use a simple distance model, not a rating for a named kicker.

Same day, same challenge

The New York date and fixed data version select an opening and seed. Identical choices—including receiver and tempo—produce identical results. Reloading reconstructs your drive from saved choices. Animation and replay never resample the result.

We preserve versioned data rather than fetching new statistics during play. A future dataset update will be versioned explicitly. Old local results are tied to their original version.

Attribution and changes

Historical data: nflverse contributors / nflverse-data, provided under Creative Commons Attribution 4.0. Sources: the play-by-play release, season rosters, and field dictionary.

We filter and sample records, join player IDs to positions, rename fields, convert yardline direction and add modeled durations. The dataset retains source URLs, input hashes, attribution and transformation notes. No endorsement by nflverse or the NFL is implied. No FTN charting dataset is bundled in this version.

Put it into practice. Call your next play →