UHS Build 6117 Released – Earlier Than Expected

UHS CogUHS Build 6117 – March 20 2014
This build comes a little earlier than I wanted as there were some bug fixes that were made to some scripts that had pending new developments.  Typically I’m aiming for the end of each month to release a new build (if there is one) and some of the bug fixes needed to go in sooner than later.

Advance Season Change
When a league has not completed their Entry Draft they are prevented from advancing the league to the Pre-Season (this is defined as a Full-Stop).  We are changing this from a Full-Stop to a Warning.  A message will appear on the screen with the warning, however, the COM will still be shown the Advance Season button.  This is being done as some leagues may handle their Draft outside of UHS.

Attendance Tweaks
We found that the last attendance change we made resulted in 100% sell-outs in the games we sampled.  Decided to make a few changes to bring that number to just over 50% (actually worked out to be 60%).  Base (starting) attendance is 50% of Arena Capacity.  Win Pct Threshold was reduced from 0.500 to 0.400 to make it easier to attract fans to the game.  Streak modification pct was changed from 1% base to 2.5% base.  Modifications are always applied against the Arena Capacity and then added to the Base Attendance.  Please see “The Attendance Topic” for more information.  Released as a hotfix on March 7 2014.

Edit Player Drop-Down Option
COMs will now have an “Edit Player” option appear in the drop-downs for players.  Selecting this will take the user directly to the Edit Player screen.  There was a little bit of overhead that needed to be added to get this done, however, I’m not seeing excessive load times currently, so hopefully we’ll be fine as we go down the road.

Manage Players – Current Free Agents
You can now view a list of all players listed in free agency in your league.  The list of free agents will be a blend of the player information you will see in the regular Manage Player list and the GM Free Agency list.

Roster / Line buttons
COMs will now see Roster and Lines buttons in the Teams list section.

Bug Fixes
– Fixed an issue where creating a player would result in an error.
– Fixed an issue where CTRL-Clicking on a team in the COM’s team list would not open that team in the new tab, instead the team is loaded in the current tab while the new tab shows the team list.
– Fixed an issue where Resetting your league would not import new table structure changes made from previous builds.

Hot Fixes
– Fixed an issue where Skaters and Goalies were appearing in both the Skaters List and Goalies List for Available Prospects when the league was conducting an Inaugural Draft.  Released March 7 2014.

Build 6092 Released – Compression!

compressSo one of the biggest problems we’ve faced… for a very long time… is that as leagues age, the size of their databases grow.  Our first / original league: the TJHL, was at around 2.5 GB.  Now when you think of SavePoints…  each SavePoint is a snapshot…  so you have each one running around 2.5GB (or less for older ones)…  and consider that we have quite a few savepoints…  that’s a LOT of storage space.  Since we are now updating SavePoints as part of our release process, it also makes the load / save time a lot longer.

So we’re using gzdeflate and gzinflate to compress the PlayByPlay data found in the Game Details (regular and live) tables…  When we consider the table went from 1.1GB to 233MB with a very minimal increase in load time, I’d say we’re looking pretty good.  It was a necessary evil to do the conversion during prime time but for a release like this I absolutely needed all of my faculties.

As we’re still in the process of backing up the existing savepoints as this blog post is being written, I’ve decided to temporarily disable SavePoints so that we can bring UHS back online for everyone to use again.  Once the backups have been completed, I’ll kick off the compression script and start converting the savepoints over night.  Hopefully when I wake up tomorrow morning there won’t be any errors and we’ll be good to go.  I’m pretty sure the entire compression process is going to take around 8 hours or so.

Once SavePoints are available I’ll send out an email letting everyone know.

Thank you all for your patience.

UHS Build 6085 Released

UHS CogUHS Build 6085 – March 2 2014
Here’s our first build since releasing UHS Dark.  We had a ton of hotfixes go out pretty quickly…. Thanks to everyone that reported the issues… it really did help us out.  On top of the hotfixes we also put out a bunch of changes which you’ll see below.  I’m also starting to plan out a few other developments that I think would be helpful / beneficial for everyone but they’re a little more complex and need to be done right.

Account Preferences
Access to accounts has been moved for GMs.  We’ve returned it back to the login-info panel up at the top-right of the page.  Whether you are a COM or GM you can access your own account preferences by clicking on your user name.

Attendance
The attendance logic was updated again (it had changed with the release of UHS Dark) so that total wins and losses no longer factor into the attendance formula.  Team streaks will now factor differently into how the attendance is modified: +2% / game for a winning streak, +1% / game for an unbeaten or tie streak, -1% / game for a winless streak and -2% / game for a losing streak.  Teams must have played at least 10 games in the current season in order for the winning percentage to be considered.  If this is not true, we look at the previous season’s winning percentage.  If that’s not true, we default to 0.500.

The goal for the attendance changes was to reduce the number of sell-outs.  For the good teams they should be happening…  for the not-so-good teams they should be a rarity.  I’m sure I’ll need to tweak the formula again.

Also, I’m thinking of lowering the game threshold from 10 games to 5 games as there might be some leagues that want to play fairly short / quick seasons… if that’s the case their records would never impact the attendance generator.

AutoGM Augmentation – Moving Players to Farm
We’ve added additional logic for the AutoGM to move players down to the farm team (or farm level for those leagues with no farm system).  There is already logic to move players to the pro team if they’re needed to fix a game roster issue.  A player will be moved to the farm if the following condition-tree has been met:

–          Player is not on the pro game roster.  Must also meet following criteria:

  • Moving the player will not put the team under the Salary Cap Minimum.  Must also meet following criteria:
    • The player is a “Farm” player (they’ve already passed through waivers once before).  Player Moves to Farm.
    • The team has already lost enough players to waivers to allow players to be moved without going through waivers.  Player Moves to Farm.
    • The player is a “Pro” player AND meet the following criteria:
      • The player’s age is higher than the average pro game roster age.  If this is true the following criteria must also be met.
        • The player’s skill is lower than the average pro game roster skill.  Player Moves to Farm.
      • The player’s age is lower than the Max Age Protected age.  Player Moves to Farm.

COM Team Management
– The list of teams has an additional sort of Club.
– Fixed an issue where the salaries being shown for teams were not using the proper Farm and Junior salary percentages, so were reporting incorrect team salaries.

Distribution Draft
When attempting to move players to free agency from a team that is going defunct, if that team had no players no message was being shown.  Added a success (green) message indicating the team does not have any players to move.

Draft Title
When viewing the Draft page, the header will now show you whether the Draft is complete or the current round.

Free Agency Minimum Offers
Players that have been in free agency for at least one year without playing a game will have their minimum offer values reduced by 25%.  This is to help bring back in players that were signed to an overly high price, hit free agency and require a minimum value that is out of the ball-park.  This should bring those players back in with more reasonable minimum offer values after 4-5 seasons…  in which one would hope they aren’t too rusty.

Help Accounts
You may notice that eventually you will see a uhshelpgm or a uhshelpcom account appear in your league’s account list and/or UHS Messenger List… these are used exclusively by me to go in and investigate issues you are reporting with your league.  Please do not send any messages to the account via the Messenger as I will likely not receive them.  You are free to delete those accounts if you want, however, I’d ask that you refrain from doing so, especially if I’m in the middle of investigating an issue for your league.

Live Games – Out of Town Scores
The Out of Town scores are now clickable.  If you want to switch to watch that live game instead, just click on whichever live game interests you.

Report – Team Salaries
Commissioners will now be able to view a list of all pro teams and show their salaries.  This information is already available in the Team Management page, however, I thought it might be useful to allow COMs to only see pro teams and not have to deal with the rest of them.

Report – Three Stars
Commissioners will now be able to see a summary of the three-stars for any given Season – SeasonType – Level combination.  Points are awarded to players for the type of star they earn: First Star: 5pts, Second Star: 3pts, Third Star: 1pt.  If folks remember the Molson Cup Three Star award way back in the day (not sure they do this anymore), its set up to mimic this.  You may notice that goalies will tend to be at the top of the list…  at least for the time being goalies are weighted a little bit heavily vs. skaters.  It may be something I revisit in the future.

Rookie Denotation
Rookies are now denoted in the statistic pages of All Players and All Goalies.

Roster / Line Status Clickable
On your team page, you’ll find the status of your pro and farm team’s roster and lines.  Regardless of whether they are correct or not, you will be able to click the icon for each one to take you to that particular section.  You won’t need to use the drop-down if you don’t want to.

Sim Engine Logic Updated
I’ve updated the sim engine logic to consider player skills when passing the puck.  Basically it works like this: if the puck is going to end up in the offensive zone, the passing player will consider players that have a better shooting skill as we’d want to get the puck to someone that can score; otherwise the player will consider players with better passing skills so that the puck can be moved up easier.  This puts a slight de-emphasis on the Skating skill, however, it is still going to be important…  as the player will be relying on either their Passing or Skating skill to move the puck up the ice.

I wanted to put this in as I felt that the top goal-scorers in any given season were a little too random…  I’d like to see the known goal scorers get their chances and be higher up on the goals list.

I also added a bit more debugging output information behind the scenes for attendance generation.

Teams with Same City Names
Games where both teams originate from the same city will instead use the team’s club names in place of spots that only refer to the team’s city.  For instance, in the Three Stars list, typically only the city name is shown, however, in the case of both teams having the same city name, the list will instead show the club names.

Trade Comments
Trade details are now visible to all teams with the exception of the GM comments.  If you are not one of the teams involved in the trade you will see text that says **hidden** for the comment area.  In the old UHS, trades AND comments were visible to all teams, however, in UHS Dark I accidentally blocked the entire trade from being viewed unless you were involved.  Commissioners and higher will also have access to the comments.

Hot Fixes
– Fixed an issue where three star selections were using players from other games being played on the same day.  Released February 9 2014.
– Fixed an issue where leagues with at least 2-3 seasons played would timeout when navigating to the Manage > Players section.  Released February 9 2014.
– Fixed an issue where leagues were only able to see Pro teams in the assignment drop-down in the Players section.  Released February 10 2014.
– Fixed an issue where teams using 4-Line were causing the sim engine to crash.  Released February 10 2014.
– Fixed an issue where the full salary of each team was being charged after a game was played instead of the Game Day Salary.  Released February 10 2014.
– Fixed an issue where Farm Team Lines were being incorrectly reported as having errors.  Released February 10 2014.
– Fixed an issue where the Game Day Salary function was returning warnings when run via cron job.  Released February 10 2014.
– Fixed an issue where players were passing through waivers almost immediately.  Released February 10 2014.
– Fixed an issue where making a claim via Waivers would show the sql query (legacy from testing).  Released February 10 2014.
– Fix for three-stars that was applied on Feb.9 was reverted.  Reapplied / released February 11 2014.
– Fixed an issue where opposing team player appeared to receive a successful pass.  Only occurred in the play-by-play for passes that were using Check for the interception type.  Released February 11 2014.
– Found issue where faceoff player is blank… added more code for 0 ID or blank player.  Released February 11 2014.
– Fixed an issue where searching to fill a blank faceoff player would cause the sim engine to enter an infinite loop.  Released February 12 2014.
– Fixed an issue where the incorrect conference & division was being used for the standings when the season changed.  Released February 12 2014.
– Fixed an issue where League Standings were not being sorted properly… was using GF instead of GF-GA (difference of goals).  Released February 12 2014.
– Updated the attendance logic to factor in gametype and visitor winning percentage.  Attendance no longer considers total wins or losses.  Team win/loss streaks now modify the attendance by a set percentage (2% / gp for winning, 1% / gp for unbeaten or tie streak, -1% / gp for winless, -2% / gp for losing).  Home & Away winning percentages now add or remove attendance based on where they are to 0.500. Minimum of 10GP is required for current season stats to be considered, otherwise, we use previous season stats.  If previous season stats are not 10GP or more we default to 0.500.  Released February 12 2014.
– Fixed an issue where scouting own players was resulting in a warning behind-the-scenes.  Released February 12 2014.
– Fixed a warning in the AutoGM logic where salary checking was reporting a divide-by-zero warning.  Released February 13 2014.
– Fixed an issue where more than one player was being allowed to get injured on a team in a single game.  Released February 13 2014.
– Fixed Face-off ghost player issue.  Released February 13 2014.
– Fixed an issue where teams were not being charged for their waiver claims.  Released February 14 2014.
– Fixed an issue where live games would not update if one of the teams did not get any penalties.  Released February 14 2014.
– Fixed an issue where teams would see an error message if placing a player on waivers while they were still in the team’s game lines.  Released February 17 2014.
– Fixed an issue where playoff games would not be created once all series were ready.  Released February 19 2014.
– Fixed an issue where the AutoGM could get stuck once drafting 19 players in the inaugural draft.  Released on February 20 2014.
– Fixed an issue where PlayOff series stats were not being updated after a game.  Released on February 21 2014.
– Fixed an issue where Injuries that lasted more than the current game were not being checked.  Released February 21 2014.
– Fixed an issue where players were not being shown in the Available Prospects report for Inaugural Drafts.  Released February 22 2014.
– Fixed an issue where players were not being suspended despite getting a game misconduct penalty.  Released February 23 2014.
– Fixed an issue where trades were not being voided when assets were moved via another trade.  Released February 26 2014.
– Added additional checking for ghost players on face-off recipients.  Released February 26 2014.
– Added additional debug code to the sim engine to display goalie injuries.  Released February 26 2014.
– Fixed an issue where the number of games for an injury was not being reset, so the previous number was being used as the base number.  Released February 26 2014.
– Fixed an issue where the number of games a player is suspended was not being correctly set if there were multiple injuries in the game.  Released February 26 2014.
– Fixed an issue where the Distribution Draft tool to move players from a defunct team to free agency was not working properly.  Released February 27 2014.
– Fixed an issue where old structure information was being referenced when moving a team.  Released February 27 2014.
– Fixed an issue where players being moved to free agency via the Distribution Draft tool would cause an error if their name had an apostrophe.  Released February 27 2014.
– Fixed an issue where an accepted contract offer would not be recorded properly when sent by the AutoGM.  Released February 27 2014.
– Fixed an issue where attempting to view the list of available coach free agents resulted in an error.  Released March 1 2014.