Norbert - I think we are getting closer to the same page of the same book. Here are my responses to your response to to my response of your post - or something like that.
I think there is some misconception about what random means. Random can still occur with other factors taken into consideration. The engine currently uses random checks with comparisons between player ratings. If it's not random, then all those factors you describe would be the same for basically every play, except fatigue, and the results would end up the same for each play. I think we may have a syntax problem in our wording between the term randomness and variability. Results can be absolute A>B for each decision point, however the factors determining the value for A or B can change after each iteration so that the A>B comparison changes enough to supply changing values to the outcome. (Faster fatigue for RB vs LB, rotation of freshest def player to take on RB, use of different attributes for inside vs outside plays etc.
Every time your RB runs we have to decide how many yards he gets. If there's no randomness in determining that result then he's going to always get the same yardage on every play. When the engine decides the gained distance it may use the total difference in combined attributes to determine a specific range of a gain, and then the proportional attribute over the lower limit to determine how much of that range is the calculated gain. Again, variable - but not random.
You might say that different players would be involved in the play, but then how do you determine that? How do I know one defender is trying to tackle the RB on one play and a different one is trying to tackle him on the next? It is random, but based on the likelihood of each being in on the play. Once we decide the defender, or defenders, how do we know they stop the RB? Based on the location of the play we would know the specific offensive player (say RB) and the specific defensive players (DL or LB) involved would be pulled from the highest rated player based on the specific attributes needed to counter the attributes and location of attack of the RB. Defender hierarchy would be a specific algorithm built into the engine and directed by the depth chart.
If it's not random, then it will be the same result every play, they tackle or they don't. There HAS to be a chance that they tackle the RB, not a flat result. If variations in attribute usage occur for inside runs and outside runs and variation in fatigue degradation of players in differing positions, the outcome will change. DL and LB being in the right position (GI) run less and get less fatigued that a RB on a sweep going 20 yds to get around end and just to the LOS. A dominant RB would fatigue and give up any advantage to less fatigued defensive players. Same with strength for inside runs. Add in many attributes that are not used a primary cores now (use durability for inside runs, athleticism for outside etc )and you have many attributes that would cause variation without being random.
In the passing game, if the DL > OL and ALWAYS win and the DL > QB and ALWAYS sack him, then what kind of simulation would that be? 42 sacks in the game and another 30 tackles for loss? I'm not sure if this is what you are suggesting or if I am misinterpreting your suggestion. This would be the same case of attribute usage dictating changes and variability of the outcome without randomness. During passing, let's just say that OL have less fatigue standing in the way of DL, than the DL has trying to get around them. A dominant DL would wear down allowing the game play to change and passing to improve. Also, QB would wear down less during a game as they would only succumb to fatigue penalties if they are scrambling or getting sacked. (This may be way to temper the throw every down strategy, as running every play would wear down your RB - hmmmm - more coaching and planning needed). Coaches would have to game plan and team/roster plan for this occurance.
We have to introduce more of what you are saying, and that is what I was getting to in my last post, to get to smaller ranges of what can happen randomly, but there has to be some amount of randomness in the result. There's no possible way to just add up the factors and spit out a result. I beleive with changes to the engine and use of more of the available player attributes in different situations, we can almost eliminate the randomness factor and replace it with variability based on factors that the coaches can control. Spit - spit.(You play your best RB at 90% carries, he is going to get tired and not be very effective in the 4th quarter). The differeneces in values and creation of ranges will be the difficult part to smooth for efficient game play, but I feel the generation of "67% chance of this vs this" random event generation could be eliminated for all player match ups. The only time this may need to be used is for fumbled punts, KO, chances of making or missing a FG from certain distances, etc.
Keep pushing the envelope of ideas, Norbert, we are all here to help.