New to MyFootballNow?  Click here for a tour!

Friday, May 23, 2014

New game engine features in Version 0.1.2

Version 0.1.2 of MyFootballNow has been released, featuring a number of game engine improvements that make the game sims even more realistic with their results. As leagues conclude their current seasons using the 0.1.1 game engine, they will switch to version 0.1.2 after the End of Season game stage. I wanted to take a moment to detail a little bit about the changes and what they mean.

If you ever wonder what version of the game engine a league uses, simply look at the bottom of the page while you are in the league.  You'll see the game engine version right there.  With the exception of MFN-1 - which is the official beta league where players get to use new features as they are built and are able give input on those features - leagues will remain in their current game engine until the end of the season.  (If you're interested in being on the cutting edge of the game engine, click here to take over a team in MFN-1 now!)

Smaller Tweaks


First I'll briefly discuss a few minor adjustments have been made to some of the game engine logic:

Tipped Ball Action


When a ball is tipped, its flight path is altered based on the proximity to the player and the various directions both are headed. The logic for this has been revamped to deliver more realistic tipped balls.

Field Goals


Long field goals were far too accurate. This has been dialed back. I have written a separate entry about field goals and how they are simulated - click here to read it.  I"ll wait.

Punting


Punters are now better at aiming the ball to drop inside the 10 yard line, especially as they are kicking from deeper in their opponent's territory.  There is also a greater range of hang time which is helping the coverage team get into position more easily and increase the number of fair catches, as well as more frequency of punters outkicking their coverage.  The punter's accuracy attribute drives these actions.

Penalty Frequency


The frequency of penalties has been increased in this release. Penalties are almost primarily driven by a player's discipline, with a smaller weight applied to their fatigue and experience. Whenever a penalty event opportunity occurs, a calculation is made to determine whether the player will commit the penalty.

Prior to 0.1.2, the average penalties per game were half or less of what occurs in real life. This has been increased to more better mimic a real football game.

Contract Negotiation


We have increased the values used by players when making contract requests. This should make it a little harder to retain a full roster of really good players without being forced to let some of them go to free agency, which should also in turn make early free agency a little bit more interesting.

Passing Game Updates


With version 0.1.2, the passing game has received a complete overhaul. The way that defensive coverage works and the way the quarterback throws the ball has been updated to have more realism.

Quarterback Progression Updates


The quarterback will now favor his #1 WR above the rest of his receiving options. This will result in wide receivers getting a greater share of targets.  The #2 WR will be next in line, followed by the TE and RB, and so on.  There is a good deal of randomness still in the progression order, but the changes should eliminate the Tight Ends being the leading receivers as they were in version 0.1.1.

Man-to-man Coverage


A significant improvement has been made to the coverage logic for defensive backs. When a player is covering a receiver using man-to-man, the game now considers their man-to-man skill against the receiver's route running skill.  If the receiver has a better route running skill than the defender's man-to-man attribute, the defender will have a hard time staying with the player. On the other hand, if the scales tilt in favor of the defender, the receiver will have a difficult time getting open.

Currently the #1 CB always plays on the same side as the #1 WR.  It might seem like a good idea to place your #1 WR lower in the depth chart to get your #1 WR to go against your opponent's #2 CB, but keep in mind that by doing that you will reduce the number of targets to your best WR, even though he may get more open than he would otherwise.

Quarterback Passing


The last significant update to the passing game happens when the quarterback actually throws the ball.  Previously, every pass was aimed at the optimal location for the receiver to make the catch, with the only consideration of the coverage influencing whether or not to throw the ball. In version 0.1.2, the quarterback will now choose a location to throw the ball to that he considers to be the safest location based on the surrounding coverage while still considering placing it in a catchable location, which may reduce the ability for the receiver to catch the ball or even have the quarterback intentionally throw the ball to an uncatchable location. A quarterback with less experience will have a higher probability of not taking a certain defender into consideration when making this decision as well.  Also, once the aim spot is chosen, the quarterback's accuracy attribute will influence how far away from that spot the ball actually travels.

Running Game Updates


We've been working hard to find a good balance to get rushing yardage more in keeping with real life. We've made it more difficult to keep your #1 running back on the field - if you overwork him, he will become more fatigued and even more injury prone.  Keeping the default values for fatigue should see your #2 running back with more snaps than he had previously.

Defensive Game Plan Updates


Another major update to the game engine falls on the defensive side of the ball.  We have added a new game planning feature to key on the run, key on the pass, or play a neutral defense.  The neutral defense will be the default if you don't make any adjustments to your game plan, and operates identically to the previous game engine version.

You will find the Run/Pass button next to the Linebacker's button on the Defensive Gameplan screen. It operates in the same manner as all the other game plan screens, with both a graphical interface as well as a slider interface.  At the bottom of each quadrant is your opponent's tendencies over the current and previous season.

When your defense calls a play, the run/pass/neutral emphasis is appended to the regular play call, so it does not affect the actual play that you choose.  The recommendation will always choose a neutral value plus either a run or a pass value, but not both; you can certainly have both settings for a particular situation if you would prefer, however.

Run-Focused Defense


When your defense plays in run-focused mode, players in zone coverage will cheat up toward the line of scrimmage, and players heading into the backfield will head directly toward the running back.  If the quarterback performs a play action fake, your defense will always bite on the fake.  Your defensive backs in man-to-man coverage will not cover their receivers as effectively.

Pass-Focused Defense


In a pass-focused defense, the players in zone coverage will do the opposite as in a run-focused defense: they will play further away from the line of scrimmage.  The focus in this defense is more to prevent the long pass as opposed to stopping shorter plays; your defense will probably give up more short pass plays in this defense, but should be better at stopping the long pass.  Players in man-to-man coverage will perform better in this situation than they will in a neutral or run defense.  The defensive line and blitzers will not bite on a play action fake.

Keep the feedback coming!


Thanks to everyone who has been playing and especially to those of you who have provided invaluable feedback as we have been working on the game over the last several months.  We value your feedback, so please continue to offer your suggestions, areas of confusion or frustration, and general feedback on the forums.

Tuesday, May 6, 2014

Passing the Bar: How field goal logic works

In MyFootballNow, each game is simulated using a complex 2-D game engine. Each player in the game is what is called an "autonomous user agent" - which basically means that they make completely independent decisions based only on what they know about their place in the game, without any sort of overview that we as the viewer might have.  There are several games that use this type of logic - Madden NFL is the most obvious one - and it is contrasted with games that might use probability calculations to derive an approximate result based on the attributes of players on the field.

While the players are simulated in 2-D, any time the ball is in flight it is simulated in all three dimensions. The height of the players it passes determines whether or not they are able to touch and consequently influence the flight path of the ball. This is illustrated in the game center by the size of the football as it rises and descends in altitude. I wanted to write a short blog entry detailing how something like a field goal is simulated to illustrate how it's not just a "72% chance for success," but instead the chance of success is determined by far more complex math as the actual physics of the ball are simulated in the game engine. A gentle warning, there is math in the following description; but hopefully I'll be able to explain it in such a way that makes sense even to the greatest mathophobic.

When a field goal is attempted, the direction that the ball needs to travel to arrive at the center of the goal posts is calculated. Then, using the kicker's accuracy attribute, a value is arrived at that is the standard deviation for the launch angle.  The lower the accuracy attribute, the larger the standard deviation.  Then the launch angle error is calculated using a normal distribution, and the flight path of the ball is adjusted to go in that direction.

That last sentence may have flown over the head of most casual text sim gamers. What in the world is a standard deviation? There is a principle in statistics that states that if you have enough samples of data for what is known as a "normal population," that most of the data will be close to the "mean," or average value. 68% of all samples will be within one standard deviation of this mean, and 95% will be within two standard deviations, with 99% being within 3 standard deviations.  The graph looks like this:


Note the hump in this graph, where the middle line indicates the mean. As you go further and further away from the mean, the number of times that value exists becomes less and less, indicated by the graph getting lower and lower.  Each vertical line indicates one standard deviation.  The larger the standard deviation, the greater the range of the resulting values.  There are lots of random numbers generated in MyFootballNow, and most use some form of the normal distribution.  By choosing a mean and a standard deviation, we are able to generate random numbers that will be distributed with a range that matches the graph above.

So, we decide the amount of error based on a normal distribution, with the standard deviation being dependent on the kicker's accuracy attribute.  The strength attribute applies in the same manner, except instead of the standard deviation being calculated from the attribute, the mean value is used. A strength value of 100 will be able to kick a 70-yard field goal if the random value is 3 standard deviations away from his mean.  As mentioned above, 99% of all values will be within three standard deviations of the mean, and the remaining 1% will be split between the high and low side; so if a kicker has a 100 strength score and his launch angle error is 0, he will have a 0.5% chance that a 70-yard field goal will be good.

One more comment about standard deviations.  I said that 68% of all values will fall within one standard deviation of the mean, which is where the 70% accuracy value comes from on your misc. game planning screen.  Yes, I took a little liberty and rounded the amount to the nearest 10%.  This it is the distance where your kicker is within one standard deviation of making the field goal, using the shortest distance when considering his accuracy and strength.