UHS Build 6567 Released – Fixing the Farm

winter-ice-hockey-pondUHS Build 6524 – May 22 2014
I was not expecting to have to release this build so soon, however, there was an issue with how the database fields were set up for the Max Farm Skill Age setting.  It was not set up correctly, so even when GMs had the option to move players, it would come back telling them they had to clear waivers.  It was necessary to release this as a build since it affected all league databases.  I could have sat on this one, but I’m pretty sure not being able to move players to the Farm is a critical piece of functionality that needs to be fixed.

Faster / Mass Coach Scouting
GMs now have the option of scouting  the whole list of Coaches at the click of a button.  The GM will pay a percentage (as set by the COM) of the full scouting cost for each coach.  The GM will only get charged for coaches they do not have scouting reports for this season.  If there are no coaches available or all available coaches have already been scouted, the GM will not see this feature.  GMs can access this feature by going to Personnel > Manage Coach.

By default the percentage is set to 25%.  COMs can change this in Settings > Scouting.

Fighting Chance
COMs now have the ability to set the engine’s fighting chance.  This is the chance that a fight *could* happen each cycle.  The default is set to 1%.  Setting this to 0% will completely disable fighting from your games.  The allowable range is 0% to 5%.

COMs can change this in Settings > Game Settings.

Bug Fixes
– Fixed a grammar issue when successfully changing a league’s draft order.
– Fixed an issue where the “All Ages” option for Max Farm Skill Age in the General Settings area was being shown as blank.

Hot Fixes
– Fixed an issue where some columns were not showing properly in the Public Site league standings despite the headers appearing.  Released May 22 2014.
– Disabled the portion of the AutoGM code that allowed multiple free agent selections to fill a roster regardless of position.  Released May 22 2014.
– Fixed an issue where games played using Live Mode were not properly updating their respective playoff series.  Released May 23 2014.
– Released a change to rerates to check for the Farm and Junior percentage being 0.  If this is true, those settings will instead be changed to 0.01 to prevent any potential wonkiness in the rerates.  Released May 23 2014.
– Fixed an issue where Buy-Outs were not being recorded in the Activity Log.  Released May 23 2014.
– The Free Agency “poaching” code for the AutoGM has been re-enabled with position and roster restrictions: No more than 5 C, LW, RW, 8 D, 3 G for the Pro or Farm team and No more than 26 players for the Pro team if the AutoGM doesn’t have a real farm team and No more than 52 players if the AutoGM for the Pro and Farm team combined if a farm team exists.  This change will not count injured or suspended players so the AutoGM will be allowed to poach free agency for subs.  Released May 23 2014.
– Fixed an issue where rerates for farm players were going to use the No Farm Schedule method regardless of whether a farm schedule was used in the last season.  Released May 26 2014.
– Fixed an issue where a player could potentially be treated as a farm rerate – no schedule if they did not play two seasons ago.  Released May 26 2014.
– Fixed an issue where the incorrect player options were being presented to GMs attempting to manage their team in the Personnel section.  Released May 26 2014.
– Fixed an issue where the Max Farm Skill Age field was incorrectly set up for all leagues, resulting in incorrect messages preventing GMs from moving players down to the farm.  Released May 26 214.

UHS Build 6524 Released – Penalties, Fighting, Scoring, Guides, and more!

canucksfanflashesUHS Build 6524 – May 22 2014
This is a pretty massive build considering the time it took me to work on it.  Originally we had been focused on the Max Farm Ratings and publishing our Guides to replace the old Help files we had previously.  Our focus quickly shifted to revamping our penalty system, tweaking player shooting decisions and allowing centers to participate on special teams without penalties.  I’m probably going to be taking a bit of a break as more work on UHS = more time on the computer = more health issues for me.  I’ll still look at quickly fixing any reported bugs, but I would think the next build would come as late as July.

Max Farm Ratings
We’ve implemented a new setting that puts a limit on the skill level for players being moved to the farm team.  This setting relies on a secondary setting: MaxFarmSkillAge.  The Age setting will let you toggle whether the MaxAgeProtected value (set in the Protection area) is used or whether Age is completely ignored when determining whether a player can move to the farm.

If Age is used, if the player is at or under the MaxAgeProtected, they are able to move to the farm, regardless of their skill.  If they are over the MaxAgeProtected value, they will be unable to go to the farm.  In addition they will also be unable to be placed on waivers (as they are tied together).

If Age is not used, if the player’s total skill is over the MaxFarmSkill value, they will be unable to be moved to the farm (also waivers is off-limits as above).

If a team has lost too many players to waivers (as set by the COM), players will still be unable to be moved to the Farm or Waivers if they do not qualify via the MaxFarmSkill or MaxFarmSkillAge values.

Guides & Walk-throughs
This build was going to be aimed primarily at creating a ton of guides and walk-throughs.  One was initially created before my focus was shifted back to the Sim Engine.  We’re releasing this section along with the published guide for skills descriptions and what they do as well as the placeholders for some of the guides I have planned.

Please review the placeholder guides and let me know if there are any guides you’d like me to tackle that aren’t already on the list.

You can find the guides in two places:
– Logged into UHS: Support > Guides & Walk-throughs
– League Public Site: UHS > Guides & Walk-throughs

Special Teams Ignore Position Penalty for Forwards
When a player (let’s say a Center) is placed on a line in the LW spot, that player will incur a position penalty that modifies all rolls during a game.  This rule will be changed for Special Teams lines: Power-play and Penalty-killing.  You will now be able to use a C, LW, RW in any of the C, LW, RW spots for the PP or PK… the player will no longer suffer the Position Penalty.

Please note the Position Penalty is still in effect for Even-Strength lines.

Penalty Changes
We’ve reviewed our penalty calls and made adjustments as per the NHL Rules (available on their website).  All penalties called in Regular Season games during April 2014 were considered when evaluating frequencies of calls.  Penalties will no longer have a chance to called on each cycle.  Instead penalties will only have a chance to be called in the following circumstances:
– The Defender attempts to Check the player.
– A Player is Injured.

Further, the default Referee Tolerance value will be changed from 5% to 3%.  This change will also be applied to all leagues.

Breakaway Penalties:
These are the penalties that could be called if a foul is commited on a player on the breakaway (and a penalty shot is not called).
– Holding
– Hooking
– Slashing
– Tripping
– Unsportsmanlike Conduct

Common Penalties:
These penalties will together account for 99% of the calls that can occur after a typical foul.  Each penalty’s frequency will vary, however, combined it totals 99%.  The remaining 1%will trigger a check in the Uncommon Penalties section.  When called, some of these penalties have a 5% chance to be upgraded to a Major.  When upgraded to a Major the player also receives an Automatic Game Misconduct.  FIghting is the exception to this as this penalty is handled outside the Penalty Determination code.
– Cross-Checking – 5% (minor or major)
– Delay of Game – 5% (minor)
– High-Sticking – 10% (minor or double-minor)
– Holding – 12% (minor)
– Hooking – 18% (minor)
– Interference – 10% (minor)
– Roughing – 15% (minor)
– Slashing – 10% (minor or major)
– Tripping – 14% (minor)
– Uncommon Penalty – 1%

Uncommon Penalties:
While common penalties together account for 99% of the penalties called, uncommon penalties only incur a 1% chance.  These penalties will range from being minor penalties to match penalties.  Each penalty call has an equal chance to be called.  Some of these penalties have a chance to be upgraded to a major… if so, the major penalty also comes with an Automatic Game Misconduct.
– Bench Minor (minor)
– Boarding (minor or major)
– Broken Stick (minor)
– Butt-Ending (double-minor or major)
– Charging (minor or major)
– Checking From Behind (major)
– Check to the Head (minor)
– Clipping (minor or major)
– Closing Hand on Puck (minor)
– Concealing Puck (minor)
– Diving (minor)
– Elbowing (minor or major)
– Headbutting (double-minor or major)
– Holding the Stick (minor)
– Kicking (match)
– Kneeing (minor or major)
– Misconduct* (10-minutes)
– Slew-Foot (match)
– Spearing (double-minor or major)
– Throwing the Stick (minor)
– Too Many Men (minor)
– Unsportsmanlike Conduct (minor)

* Misconduct penalties are typically handed out along with a minor or major penalty, however, there are also cases where the player was given the Misconduct with no other penalty.  In UHS Misconducts will always act as a separate penalty and will not occur in conjunction with another penalty.  The player will serve the 10 minutes but the team does not have to kill off a 5-minute major like you would with a Game Misconduct or Match penalty.

Goaltender Penalties:
Goalies will only be able to receive minor penalties, regardless of the call.  Perhaps sometime in the future I’ll add the full range of the penalty to the goaltender, however, now is not the time.
– Cross-Checking
– Delay of Game
– Diving
– High-Sticking
– Holding the Stick
– Interference
– Roughing
– Slashing
– Throwing the Stick
– Tripping
– Unsportsmanlike Conduct

Penalties Due to Injury:
When a player if injured in a game the offending player is checked to see if a penalty will be called.  Injuries will happen in a game regardless of whether they have been toggled off.  Toggling Injuries off only prevents multi-game injuries…  a player can be hurt just for that particular game if he’s hit hard enough.  Anytime a penalty call is made, one of these Match Penalties are called.  Each penalty has an equal chance to be called.  All Match Penalties mean the offending player is ejected from the game and the team must also kill off a 5-minute major.
– Boarding
– Butt-Ending
– Charging
– Checking From Behind
– Check to the Head
– Clipping
– Cross-Checking
– Elbowing
– Headbutting
– High-Sticking
– Hooking*
– Kicking
– Kneeing
– Slashing
– Slew-Foot
– Spearing

* The Hooking call actually gets called as a 5-minute Major for Hooking and a 10-minute Game Misconduct (as opposed to the usual 10-minute Match Penalty… in either case, the player is gone from the game and the offending team must kill off a 5-minute major).

An example would be an offending player injuring another player gets two calls against them in the Penalty Details:
– 5-minute – Major – Elbowing
– 10-minute – Game – Match Penalty

Players Serving Majors or Misconducts
When a player is serving a 5-minute Major or 10-minute Misconduct, they will now no longer be able to rejoin the game until the next stoppage.  These players will get substituted on to whichever line happens to be on the ice for the face-off.  This is only temporary…  one that line cycles off and then back on again it will be restored to the players that were originally set.  This is done to allow players serving those penalties to get a bit more ice-time after having just missed 5+ or 10+ minutes.

Previously fights could only happen with players that had an Aggression skill of 7+ and a Penalty skill of 4 or lower.  This has now changed to allow ANYONE to participate in a fight as long as their rolls beat their AG and PN skills.

Due to this change, we’ve decreased the chance that a fight can happen from 5% per cycle down to 1%.

If there is an altercation and the Aggression skill checks fail but both Penalty skill checks pass, both players will be assigned coincidental minor Roughing calls instead.

Scoring decisions have been changed slightly, however, the impact has been large.  Previously there was a set chance for a player to either take a Slapshot or a Deke.  The chance of a Slapshot was heavily weighted to encourage more of a chance to tip a shot in, thus adding more assists to a goal.  We have had code put into the engine previously to encourage more passing before a shot was taken and from testing we don’t see a dramatic dip in Assists.

Scoring decisions for Slapshots and Dekes will now be based on the player’s PW and SK skills respectively.  If a player has a higher SK skill, they’ll tend to deke more and fire slapshots less.

Due to this change, we’ve seen a dramatic increase in scoring at our current Scoring Chance default of 10%.  This makes sense…  since players with a low PW skill are no longer forced to take slapshots, they will tend to use the shot-type that they have the better skill for.  We were seeing scenarios where 20 players in a 82-game season had more than 100 points.

We’ve decreased the default Scoring Chance from 10% to 8%.  This change will be passed on to all leagues immediately.

– When creating the Pro league Regular Season schedule, COMs will now see a “75% mark” to help determine their league’s Trade & Free Agency Ending Deadlines.
– When creating players manually, players aged 19 and over will now be marked as being eligible for Free Agency.
– AutoGMs will now use free agency to round out their pro team if they have less than 25 players.  If they have a real farm team, they will bid on free agents until they have 25 Pro players and 25 farm players or 50 players in total.
– I’ve added a new piece of code that will update all leagues Public Sites so that I don’t have to do it manually.  Whee.  Less for me to do!

Bug Fixes
– Fixed a bug where Coach Stats were not being displayed on Public Websites.
– Fixed a spelling error for Commissioner’s Corner on the UHS site.
– Fixed an issue where OTW, OTL, SOW, SOL, Ties were not being shown in standings on Public Websites.
– Fixed an issue where the player’s age was not appearing in the Draft List.
– Fixed an issue where the Total Skill of a player was not being shown for players in Free Agency in leagues where skills are visible.
– Fixed an issue where the Total Skill of a coach was not being shown for coaches in Free Agency in leagues where skills are visible.
– Fixed an issue where a GM could not view their coach’s skill values despite Skills Shown being enabled.
– Fixed an issue where Available Coaches were not being displayed with their skill values when Show Skills is enabled.
– Fixed an issue where Recent Team Activity was not grouping up activities properly by date.
– Fixed an issue where the Last Login time was not appearing for user’s with an apostrophe in their user name.
– Fixed an issue where the bottom advertisement would appear in the main page if the GM had used up all of their Player Training points.

Hot Fixes
– Fixed an issue where the Salaries page on Public Websites was not using the Farm or Junior Salary Percentage set by the COM.  Released on May 13 2014.
– Fixed an issue where Draft Picks from rounds exceeding the Entry Draft Rounds value as set by the COM were appearing for trades for GMs.  Released on May 16 2014.
– Fixed an issue where Draft Picks from rounds exceeding the Entry Draft Rounds value as set by the COM were appearing for trades for COMs.  Released on May 16 2014.
– Fixed an issue where GMs could continue drafting past the number of rounds that were set by the COM.  Released on May 17 2014.
– Fixed an issue where AutoGMs could continue drafting past the number of rounds that were set by the COM.  Released on May 17 2014.
– Fixed an issue where Teams could not see their Arena information when logged into UHS.  Released on May 18 2014.
– Fixed an issue where PlayOff series could not be deleted.  Released on May 20 2014.
– Fixed an issue where Farm Team playoff games were not being shown in the Upcoming Games section for the Team Home page.  Released on May 20 2014.
– Fixed an issue where the AutoGM wouldn’t make a coach offer if it didn’t already own a coach.  Released on May 20 2014.
– Fixed an issue where team salaries were not being paid during the regular season.  Released on May 21 2014.

UHS Build 6377 Released – Updated AutoGM Logic & Player Training

terminatorUHS Build 6377 – May 13 2014

AutoGM Logic Update
The AutoGM logic has been updated to handle various things relating to free agency, waivers, contract renewals and coaches:
– A Coach will have their contract renewed only at 0 years remaining and only if there is no coach available in free agency with a higher overall skill.
– A bid will be placed on a coach free agent only if the existing coach is at the Minimum Contract Reoffer value (default 1 year) or less and the free agent has a higher skill than the current coach.  The AutoGM will fire the existing coach if a bid attempt is going to be made.
– The AutoGM will look at how many teams are bidding on a particular coach before thinking about making a bid.
– Players will be renewed if they are under the Maximum Age Protected value (default 22).
– Players will NOT be renewed if they are over MaxAgeProtected AND have a skill than is more than 30% less than the team’s top player.  This is being done to coax the AutoGM to start looking at free agency for better players and improve the team.  We don’t want it re-signing makeweights.
– The AutoGM will now look at Free Agency and Waivers as other avenues to acquire players to improve their team.

Player Training
GMs will now be able to train their prospects for a certain fee.  The COM will set up three settings to govern this:
– Skill Pts / Season: The number of skill points the GM is allowed to train per season.
– Maximum Age: The oldest a player is allowed to be in order to have a skill point trained.
– Cost: The cost the team incurs to train ONE skill point.

A team is only allowed to train a player’s skill once per season.  By default a team would get 3 points.  They are free to use all three points on the same player as long as they are applied to difference characteristics.  This is to prevent teams from stacking all three points on something like the Skating skill.

Training can only happen during the Off-Season or Pre-Season.  If the training points are not used they are lost.  Skill points will not accrue over seasons.

To add some risk, there is a chance that training doesn’t actually update the player’s skill at all.  The messaging from the system will NOT indicate if training was successful or not.

When running in leagues with Skills Hidden, instead of seeing the skill values, the GM will see the scouting report texts for each skill.  If a skill is at 9, the option is still there to spend the training points, however, be aware that a skill can never go beyond 9…  a skill that is trained at a 9 would simply revert back to a 9.  Again, there will be indication if this has happened.  It just adds some risk & uncertainty when training your players.

SavePoints No Longer Converted
It was part of our conversion process when we went from UHS3 to UHSDark(4)…  it made sense to update all savepoints to ensure everyone started out on the same playing field regardless of what savepoint they were loading, especially since UHSDark had a few database/table changes.

Keeping it in our Release Task List did put some focus on how long it was taking to convert them due to the file size… which forced us to look at the size issue.  Even with compression, we were still seeing releases around 3 hours… the majority of that coming from backing up current SavePoints and then converting existing SavePoints to use whatever database/table changes we added.

I think 3 hours is still too long, so we’re going to go back to the old way of doing things…  SavePoints will not be updated during a Release.  They will be updated once a league loads them.  Doing this will add a negligible amount of time to the load process and it will mean that UHS’s Release downtime will be minimized as well.

What I am thinking though is that perhaps once a year we’ll shut down SavePoints completely and do a one-time update with all the changes that have been made.  Once those are done, SavePoints will be back up and running and we’ll carry on as-is until the following year.

We’ve added Manage Coach, Protect Players and Retire Jerseys as menu options when hovering over Team > Personnel.
– There is a new Home page for COM’s Settings area.  This just gives you a list of links to use.
– SavePoint file lists are now zebra striped to make it easier to identify which file to Load or Delete.
– Added a listing of all teams in the league when clicking on the Teams link in Public Websites.  This will help alleviate scrolling issues for large leagues.

Bug Fixes
– Fixed an issue where creating Makeweight D-men would result in an error.
– Fixed an issue where a COM changing an account’s password would not save the new password unless a random password was requested.
– Fixed an issue where no message would appear when a user signed in with the wrong password.
– Fixed an issue where a reset password request would result in a blank error.
– Fixed an issue where players retiring were not showing whether they became a coach.
– Fixed an issue where leagues would not be locked when advancing from PlayOff to OffSeason.
– Fixed an issue where the automatically created savepoint would use the previous season’s number when saving.
– Fixed an issue where a pending savepoint would not appear in the list until it was In Progress when changing from PlayOff to OffSeason.
– Fixed an issue where a COM would see blank lines when clicking on the Power Play or Penalty Killing lines for a team.
– Fixed an issue where retiring coaches would not appear in the Activity Report.
– Fixed an issue where COMs sending players to the Farm without there being a full Farm System implemented would receive an error.

Hot Fixes
– Fixed an issue where errors would return if a team did not have finances set up properly.    This could result in games getting hung or using data from a previous game.  Released April 29 2014.
– Fixed an issue where the schedule would not change to the desired season using the public website.  Released April 29 2014.
– Fixed an issue where unset lines could sneak through the linechecker causing the sim engine to hang.  Released April 30 2014.
– Fixed an issue where coach free agency would run on a 24-hour period instead of the free agency hours value set by the COM.  Released April 30 2014.
– Fixed an issue where a pro team’s arena was not showing up in the Team Home section of the public website.  Released May 2 2014.
– Fixed an issue where the drop-down link for Team Personnel in the public website took the user to the Team Home page instead.  Released May 2 2014.
– Fixed an issue where the Auto-GM will use the wrong PlayerID for ActivityReport and PlayerMoves entries when creating a Makeweight.  Released May 4 2014.
– Fixed an issue where teams with an apostrophe in their names would not have players or goalie stats updated when using Live Mode games.  Released May 8 2014.
– Fixed an issue where Away team Goalies were not getting properly credited with shut-outs when games were played using Regular mode.  Released May 12 2014.