View Single Post
Old 02-08-2019, 02:48 PM   #8
sabotai
General Manager
 
Join Date: Oct 2000
Location: The Satellite of Love
Play Resolution

Run Plays

For running plays, I'm thinking something pretty straight forward. It will resolve in two stages.

Start off with the average results for any given situation. Let's say on 1st and 10 from a team's own 25 yard line, run results are:
At or behind the line of scrimmage: 7%
1-4 yard gain: 43%
5-9 yard gain: 25%
10-14 yard gain: 15%
15-20 yard gain: 8%
20+ yards: 2%

1) Every player on the field rolls to see how well they did. These results, based on position, will push the numbers up or down. A safety doing well increases 10-14 yard range and decreases 15-20 and 20+ yard range. An OL doing well pushes up 5-9 and and decreases 1-4 and 0 or less, etc. Not too much. A small change over the course of a game can have a big effect. Or not...maybe I'll need to add more than I thought. We'll figure that out later.

Roll to find result

2) A player is chosen at random to make a "saving throw" against something good or bad happening. Let's say the result o the roll is run for 5-9 yards and an Inside Linebacker is chosen. If he passes the saving throw, the result will be in the lower range (5-7 yards). If he misses, it'll be the upper range (7-9 yards)

Maybe even have a critical hit or critical miss. A critical hit will push the result down to the 1-4 range, a crit miss will make it a 10-14 yard run.


Pass Plays

These will be a little trickier.

Pre-Stage: Figure out the type of pass and who the primary target is, who the secondary target is and who the check down is, what type of drop back, is there play action, etc.

Stage 1) How clean is the pocket. Roll to see if the QB gets pressured or not. If pressured, roll to see if sacked. If not pressured, QB throws from a clean pocket.

Four results from this
1) Sacked
2) QB pressured into early throw
3) QB pressured, but escapes and is on the run
4) Clean pocket

Stage 2) Figure out how open the options are. Similar to the run play, everyone rolls to see how well they do on the play. Maybe I'll make it more specific later, but for Version 1.0, I'm not going to get into who is covering whom. All defenders in coverage roll to lower the completion chances to the 2 options.

Just like with the running play, though, how these rolls change the base percentages will be based on the coverage and position for defense, pass play type and position for offense. For example, a Safety in deep zone coverage will have an effect on a vertical route's chance of completion, but not for any short or intermediate routes.

Stage 3) QBs make a "Read Defense" saving throw. If he succeeds, he will not throw to his first option if he's covered too much and will instead move on to he 2nd option. Form there, a 2nd Read Defense check. If he passes and the receiver there is also well covered, check down, throw away or check to see if there was a coverage sack.

NOTE: I'm also considering another attribute for Coaches that will be the option between "One Read System" and "Two Read System". A 1-Read system will just have 1 option plus a check down instead of the standard 2 options. The advantage will be an easier Read Defense check (since there's only 1) and a lower chance for a coverage sack. The downside is that there's only 1 option per pass play and could result is a lot of check downs and throw aways if the defense plays really well and/or the offense plays badly.

But I only hear about these "One Read" types of passing systems in college. Not sure if anyone in the NFL runs such a passing system.


Stage 4) A target has been determined (or the QB checked down, threw it away or there was a coverage sack), a pass is thrown. Calculate how good the pass is, calculate the chance of success and the chance for a drop, int, etc.

Stage 5) If the pass is caught, calculate YAC. If dropped, incomplete, etc. play over. If INT, calculate result of INT.


Now that I type that all out, there seems to be multiple chances for saving throws and general rolls in the passing game where with running plays, there's just 1. So maybe with running plays, I'll pick 3 players at random to make saving throws to change the result of the play.


Anyway, still plenty of time to brainstorm this out. Step 1 is to get play calling data, play result data, and throw together some scripts that play out a game of football solely using NFL averages. I can build on top of that from there.
sabotai is offline   Reply With Quote