Welcome to the Cheesiest Blog on the Web

Welcome to the blog of The Killer Nacho, known to most mortals as Timothy J. Sharpe, a Computer Science graduate of Messiah College and currently a Systems Analyst for Sunoco Logistics. Within this tome of pages, one will find my innermost thoughts about various things concerning things that I enjoy. These subjects include, but are not limited to, roleplaying, gaming, American Football (the NFL), things to do with computers, philosophy, movies that are awesome, TV shows that are awesome, my own writings and creative works, and dangerous Mexican snacks.

Friday, October 5, 2012

American Football Simulator, Distribution 2012.2

American Football Simulator version 2012.2 is ready to be released. You may have noticed that I never released 2012.1. This was due to me mulling around whether or not I wanted to... I was hesitant because of the Sim League I run with the engine, and I felt that the team owners could download the code & get an unfair advantage by getting revealed Player rankings, simulation formulas, etc. But then I figured, to hell with it, I'm always tweaking Player rankings anyway. If they find this, more power to 'em.

Change Log

2012.2 Changes
  • Updated rosters for the 2012 NFL season up to Week 5.
  • New Fun Teams were added.
  • Added new team statistics in Statistics exports and Season mode.
    • “Net Points” which is basically Points – Points allowed. This was previously kept track of, but was not displayed. It can now be found under a team's General Statistics.
    • “Streak” which keeps track of a team's current streak. A winning streak will have a W before it, losing streaks will have an L, and tie streaks will have a T. Note: Streaks as a statistics have a minor bug that when merging exported stats, if the team you are merging second is multiple games, the winning Streak may be inaccurate.
  • Small GUI improvements.
    • Moved “Turnovers” from General statistics to Defensive statistics.
    • Moved “Takeaways” from General statistics to Offensive statistics.
  • Updated this help document since it was getting very outdated.
  • Cleaned up some code by removing outdated & unused methods.
2012.1 Changes
  • Updated rosters for the end of the 2011 NFL season and the 2012 NFL Draft.
  • Added the 2012 schedule in Season mode.
  • Added Two-minute warning. It is automatically disabled if a Quarter is less than two minutes due to the Time Config setting.
  • Leagues are now a fully functional feature. It has its own folder within the Data folder, and one may now Load and Save Leagues when starting a Season using Custom Teams. One does not have to be in Debug mode now to load Leagues.
  • Added a few new statistics for players.
    • “Tackles for loss” stat for Defensive players (when a player tackles a player behind the line of scrimmage, but isn't a sack).
    • “Touchbacks” for Kickers (when the Kicker forces a touchback on a Kickoff).
    • “In 20” for Punters (when the Punter pins the opposing team inside their own 20).
    • “Pancakes” for Offensive linemen (awarded for extraordinary blocks on both running & passing plays).
  • Added a few new Configuration options.
    • “Conversion Yardline”: Sets the yardline in which extra point and two-point conversion attempts are attempted. This defaults to 2, which is NFL rules. However, in college football, this is 3. In the CFL, it is 5.
    • “Max Play Time”: Allows you to specify (in seconds) the maximum time a team can wait until snapping the next play. The default for this setting is 40 seconds.
    • “Two-Minute Warning”: Option to turn off the new Two-minute Warning game rule. It is enabled by default.
    • “Enable Overtime”: Enable or disable overtime for games, resulting in a tie in games with a tied score at the end. Games that must have an outcome will ignore this setting (like Playoff games, or games with Allow Ties set to off). This defaults to enabled.
    • “Default Stadium”: When enabled, plays all games at a neutral indoor site, negating all homefield advantage and weather. It defaults to disabled.
    • “Automatic Export” - If enabled, all games will automatically Export stats to the “Exported Stats/Automatic” folder. They are cumulative, if a team with the same name is already there, it will automatically merge the files. This may drastically increase Prediction & Season time on slower computers, however, so it defaults to disabled.
    • “Retired Free Agents” and “Retired FA Coaches”: Allows Players and Coaches in the Retired folder to be drafted in Season Draft (if Free Agents are enabled to be drafted). Added a new folder in the Player and Coach folders, “Other”, which can be used for Players that you do not want to appear in Drafts.
    • “Prediction Season”: Games in a season will use a Prediction instead of a single game to determine rules. This will take a lot of time, but allows you to predict an entire season.
    • “Prediction Season Accuracy”: Lets you set how many games are simulated for the Prediction for each game. For example, if set to 100 (the default), each game is simulated 100 times and the average scores of the game are used.
    • “Save Season Games”: Instead of an option in Season Mode menu, I decided to move it here, since often the same computer will always use one or the other.
  • Small tweaks to the Simulation engine.
    • Mobile Quarterbacks have a slightly better chance to scramble.
    • Receiving Fullbacks now slightly increase overall Completion chance.
    • Tweaked the time in-between plays to be more realistic. There should be slightly less plays in a game as a result, since time passed is slightly higher.
    • Improved the play selection AI.
    • When an offense under AI control goes into “desperation mode” in the 4th quarter is now slightly dependent on Offensive Aggression (Aggressive offenses will go into desperation mode earlier).
    • Two-point conversions now actually run a play instead of using a Percentage to determine success. For example, it will now say “Runningback stuffed on two-point conversion attempt!” or “Runningback rushes for two-point conversion!”.
    • Changed the default Home-field Mod to 0.25 because 0.5 was sometimes too high of a modifier.
  • Small GUI improvements.
    • Renamed “Save Team” option to “Save Team As…” while making a new “Save Team” option which simply saves the loaded team.
    • Added a “Clear Team” option under “Edit”, which will remove all players and coaches from the team.
    • Added “Team Progression” option under Edit menu. This feature will progress all starting players on a team’s roster at the same time by inputting years, wins, whether the team made the Playoffs, and whether the team was last in the division. “Percentile” will be that player’s “Rank”.
      • If in debug mode, you can exclude the Quarterback (personal use reasons).
      • If in debug mode, you can view Overall progression changes in the console.
    • Added “Grudge Match” option in Game Center dialog, to easily re-play games with a click of the button.
    • In Season Drafts, there is now an option to see “All Players”. This was a requested feature to see the best players (not Coaches) available, regardless of Position (although the order is weighted by Position... For example, QB is valued more than K).
    • Added “eye-candy” messages to the Field graphic while Watching or Playing a game. They are triggered when a team scores, or a turnover occurs. They use the team's colors who triggered the message.
    • At the end of Season mode, teams in the LastSeason folder will now have their Records reflect their record in that season (if you open the team before the season's end, the record will not be changed).
    • Added “GS” (Games Started) to each player in “Load Exported Stats”. In case a player is changed, it will keep track of how many games that player has played.
  • Added a few new Debug features.
    • “Clean-Up Folders”: will delete all files in the Data folder (intended for release purposes, be careful with using!).
    • “Get Current Thread Number”: will display in the console all open threads (for chasing memory leaks).
    • “Get Rookie List”: Will look in the Data/Players/Rookies folder and display all Rookies… nothing too special here, but useful for certain things.
    • “Clear for New Season”: A method I wrote specifically for my Sim League on Footballsfuture.com; it is like the “Clear Team” method except it sets all players and coaches to 80 for each stat and resets Record to 0-0.
    • “Update NFL Players”: A function that checks all players on that team if there is a corresponding NFL player with the same name (from teams in the NFL folder or players in the Free Agent folder), and sets their attributes to that player.
    • “Clipboard Copy” in Load Exported Stats: Copies the team's stats to the clipboard. I added this for personal use reasons (my Sim League).
    • While in Debug mode, one can Load a team while in Season mode GUI, even in mid-season.
    • While in Debug mode, when playing or viewing games, one has the option to enter a Game Debug dialog with the ability to edit the following game data:
      • Time remaining (in seconds)
      • Yard line
      • Down & distance
      • Team scores
  • Several bug fixes.
    • Fixed the 0 seed bug (see Easter Eggs, below).
    • Fixed an elusive bug in which a team's Custom Philosophies would seemingly be randomly overwritten.
    • Fixed a bug where plays would sometimes take more than Max Play Time.
    • Fixed a bug in that if the Field Goal Points was set to 0, teams would infinitely try Field goals until they miss in Overtime. This resulted in such games going on forever for games that disallowed ties, like playoff games.
    • To go with the previous fix, games with disallowed ties are now capped at 100 overtime quarters. After that, the team with the most overall yards will be declared the winner (unlikely yardage ties going to the home team).
    • Removed the “Season Loop” config option due to the bugs it caused. It won’t likely be re-added but still exists in the source code as a static variable in FootballSimulatorGUI if you really want to still use it.
    • Fixed a bug where the max Kick return was 100 yards. This made Kick returns starting in the endzone impossible to be returned for a touchdown.
    • Fixed a bug where the “minimum possible elapsed time” of a passing play was too high.
    • Fixed a bug in which a strip sack (a sack in which a fumble is also forced) awarded 2 tackles instead of 1.
    • Fixed a bug in which the Net Punt stat was sometimes calculated wrong when a Punt is kicked out of bounds.
    • Fixed a bug in the simulation engine where a few minor RNG checks did not use the game's Random instance. This rarely caused games with the same Seed have different results.
    • Fixed a bug that caused some interceptions to not be logged to the Game Log file.
    • Fixed a minor bug where the incorrect time would show near the end of a Quarter while Watching or Playing a game.
    • Fixed a minor bug in Season draft where players with a very long name (like Dominque Rodgers-Cromartie) would cause rows to go missing (pushing them off-screen).
    • Fixed a minor bug in which a single space would appear before a Kick Return Touchdown in both the Game Viewer and Game Logs.
    • Fixed a minor bug in which Kickers had incorrect formatting in their stats.
  • Added a few “Easter eggs” in the Simulation engine, which can be triggered by specific seeds. Here’s a list for curious people who don’t feel like digging through the source:
    • 0 – Not really an easter egg, but a check that should’ve been added when I implemented XorShiftRandom. Basically, XorShiftRandom doesn’t work with a seed of 0, so it sets the seed to “Zero” instead.
    • “0, please” – Well, if you REALLY want a seed of 0…
    • “International Game” – Ugh… It really sucks when your team gets a “home” International game, does it not?
    • “TEBOW TIME” – Tebowmania is sweeping the nation! This wouldn’t be a bad seed to use if Tim Tebow happens to be your starting Quarterback…
    • “Ryan Leaf” – Greatest bust ever, according to most people… What if every Quarterback was as bad as him?
    • “Bountygate” – Being paid to injure people, hell yeah! Lets rough some people up.
    • “GOAT” – Everyone has their own opinions, but just who is the greatest Passer of all time? According to me?
    • “ITS OVER 9000!” – Take a wild guess at what this one does…
    • “I hate Mondays.” – Who doesn’t? They are by far the longest day of the week…
    • “Don't kick to Hester!” - Wise advice to any Kicker or Punter.

1. Because the AFS is written in Java, you will need to make sure you have the most recent Java Runtimes installed on your computer here.
2. Extract the zip file to where you want the AFS to be installed.
3. You should be able to run the AFS simply by running "RunMe.jar" in the AFS's main directory. Also, if you want to create a shortcut, create a shortcut to this file.
4. If this doesn't work, try running "DebugMode.bat".
5. If there are any other problems, feel free to contact me at timothyjsharpe@yahoo.com.



No comments:

Post a Comment