I personally believe the defense should be hit with the same thing. You play the same exact defense against a formation multiple times the offense should be rewarded for using different plays out of that formation the defense is set up against.
I also think Offensive repeat play penalty should be more of an ongoing thing, based on the plays you have run, and not something that is just a constant ticker starting with the first play. If you run the same play 8 times in an entire game but run 32 plays out of the same formation, that means that only 1/4 of the time you run that formation you run the same play. No way Defenses would bite/key in on that specific play each time from then on out.
Instead I presented a system where Each time you run a play it adds to a 'counter' for that play. So for arguments sake say +1. BUT each time you run a play, all the plays that you didn;t run, get their counter reduced by an amount as well. Lets say -0.5. Exception would be plays that are _very_ similar (so this would take a little work building the tables) so, if you focus on say, ONE HOLE through the offensive line for the entire game (running different formations but hitting the same hole) the reduction for these 'similar' plays may only be -0.25.
Then set the threshold on 'repeat plays' at an arbitrary number, so that if you exceed that number (based on game balancing) a penalty starts to kick in. This penalty would be sliding and increase rapidly.
So, if you arbitrarily determined that once a play reach +5 (Basically have to run the play 8 times in 10 plays or 5 times in a row) there is a bonus to the defenses ability to read and react to the play (Bonus to getting off the snap early, Bonus to vision and maybe a slight bonus to speed for the first few tics)
If its +6, the bonus goes up, +7 goes up even higher, etc so that if you somehow got a +10 penalty you have LaVar Arrington Leaping over the O-Line to hit the QB i the backfield just as he snaps the ball.
But, if you mix up the plays and you are running things spread out amongst the available plays, its much harder to ever trigger a repeat play penalty.
With defenses, each time a formation is used, it should add to a counter but there is no REDUCTION in the counter for running a different defense. Once the counter reaches a for game balance arbitrary numer, the QB starts getting a vision check to recognise the formation. IF the QB makes their check there is a slight bonus to the entrire offense to simulate the QB having discussed the play on th sidelines and in the huddle with his players and giving advice to his receivers/backs etc.
Bonus would manifest in maybe a bonus to getting open for receivers, (not catching etc, just getting open) a small break tackle bonus for backs (to help them make it through the first tackle attempt) A bonus to 'Hold Block' or 'Pick up blitz' forthe O-Line etc.
Nothing large, but something large enough to encourage DC's to have to run different formations/DPC plays.
This works out in many ways in the defenses favour because you could have multiple plays from the same dot positions, but the dots do different things, have different assignments and so your defense is more diverse and difficult to scout.
-Then, while you are at it, reduce the number of deflections that result in a catch anyway. (EG, add a more significant vector change to the football when it is touched by the defense before the offense)
-Make the defensive secondary a bit ore effective in multiple coverage situations but make receiving a ball in single coverage a bit easier as long as it is reasonable yardage.
-Make the long balls much harder to consistently throw.
-Put an absolute value cap on all attributes, so that the fastest ANY dot can run is a 3.8 second 40, modify the cap by the 'bulk of a player but don;t put that penalty in say, until about 275 pounds (So linemen never run 3.8 40's) Any attribute value beyond the value required to hit the maximum value cap adds to 'consistency' So if 100 speed = 3.8 40 times, then 120 speed = 3.8 second 40 times and a bonus to rolls using speed so they make them more frequently. So they bleed less speed in cuts, etc. This bonus should scale so that it grows quickly but then drops off quickly as well. So say a +1% up to 115 in an attribute but then the bonus for a 116 is maybe 0.9%, 117 is 0.8% etc until you are only adding 0.1% for each point.
As stated before, this is for all attribute, so there is a maximum Strength limit, maximum agility limit etc.
The best way to test these values is to look at the NFL combines, create 'sims' of the combine tests, and then tweak the attribute system so that the results returned by running a player through the combine is what a player int hat position with that 'build' should be expected to run.
If you did that, receivers getting downfield in crazy short times for long receptions would be reduced.
By putting an absolute value cap on attributes you can TEST interactions better at say.. the Line Interaction, so things can be tweaked and made to work significantly better. So the whole game can be balanced better.
By removing the uncapped attribute scale, you take away the desire to have a focused attribute taken well over 100 as the player wont get better and better, just more consistent. Meaning a more balanced player will still be able to compete and perform against exaggerated builds. The 'exaggerated' build though would still be 'the best' at their particular exaggerated attribute.
Then you can really focus on making the sim work well. Instead of always having to add band-aid tweaks that break other things because someone figures out the next best exploit that pushes an attribute 'over9000' and breaks the sim.