If you've played Season Ticket Football, you may have noticed that roughly 83% of play results come from the offensive play card and 17% come from the defensive play card. Defensive player ratings come into play close to 50% of the time, but the actual play call by the defensive team often has no effect on the outcome of the play.
A lot of factors went into this, but the main factor was how much of an effect I wanted the defensive play choice to have on the play result. A good example is completion percentage. Between 1994 and 2023 (the years for which we have play-by-play data) completion percentage on medium passes is about 52% on 1st-and-10. This drops to about 49% on 3rd down, even though the yards per completion is about the same.
In the context of the game engine, I'm attributing that 3% drop to the fact that the defense is more likely to be defending against the pass on 3rd-and-10 than on 1st-and-10. Just to keep things simple, let's assume there are only two defensive plays: "Pass Defense" and "Run Defense". Next, let's assume there's a 50% chance of picking "Pass Defense" on 1st-and-10 and a 100% chance of picking "Pass Defense" on 3rd-and-10.
That means that I could model real-life completion percentages with the following game engine:
Medium Pass vs. Run Defense = 55% completion chance
Medium Pass vs. Pass Defense = 49% completion chance
On 1st down the defense chooses each defensive play half the time, creating an average completion chance of 52% (halfway between 55% and 49%). On 3rd down the defense always chooses "Pass Defense", creating a completion chance of 49%.
I could theoretically achieve the above results with a game where 94% of the results come from the Offensive Play and only 6% of the results are from the Defensive Play. But I've chosen a bigger number (17%) for a couple reasons:
1) I want defensive play choice to have a somewhat larger effect that +/- 3% on completion percentage.
2) I want defensive plays to affect more than just completion percentage (interceptions, sacks, yards after catch).
The math for rush plays is similar. The league-average success rate of an inside run on 4th-and-1 is about 60%. How much do I want that to go down if the defense picks "short yardage"? Looking at the stats, I settled on 8-10%. You can stack the line with 8 guys against the 2023 Eagles, but they will still have a pretty good chance of getting the first down.
That's the math side. The other reason that I limited the impact of the defensive play choice is because I don’t think of a defensive "play" as a formal diagrammed set of routes and blocks similar to an offensive play. The game engine doesn’t give you complete control over personnel and formations — it assumes that defensive linemen will set up on the line, cornerbacks will line up with receivers, etc. Within that framework, defensive "plays" can more accurately be thought of as tendencies than prescribed actions. I could create a "Goal Line Defense" play where you literally stack 11 guys between the tackles. But that defense would be easily defeated in the modern NFL by the QB calling an audible to a screen pass.
I realize that the game doesn't include the ability to call audibles, but my point is that all of the defensive "plays" need to look similar in order to be effective. A "Short Yardage" defense and a "Deep Zone" defense should look similar at the line of scrimmage. And many of the assignments are going to be the same: receivers still need to be covered; some linemen still need to rush the QB; etc. The difference between "Short Yardage" and "Deep Zone" might just be one or two assignments.
This does mean that the game isn't great at simulating some extreme situations, such as when the defense puts 6 DBs and a few WRs on the field to defend against a last-minute Hail Mary. But for me the game feels right in the vast majority of situations. There are offensive teams that are tough to stop even if you always "guessing right" and this system reflects that.