Jump to content
NHL'94 Forums

Leaderboard

Popular Content

Showing content with the highest reputation on 01/07/2021 in Posts

  1. We know for certain that, in the game, each player has a base value between 0-6 for each of their skill attributes (weight is a number given in a 0-15 scale). But, as many of you have noticed, there will be games where a player feels "off" or "hot". That is because the game adds some "bonuses" to these base values, to give them and the team a more "realistic" feel. I was looking at the game code to see if I could minimize them, when I came across some new findings. Some of these topics have already been covered in other threads, but I'll rehash them quickly. Special thanks to @smozoma and @kingraph for their help with this. Before we go over bonuses, I want to cover how the game uses the player attributes: Weight (Wgt) - Used to determine who wins a check. It also has an affect on how fast a player can get up to speed. Agility (Agl) - Think of this as acceleration. A higher number means the player reaches top speed sooner. This may also have an effect on the turning ability. Speed (Spd) - Think of this as the top speed of a player when skating. Offensive Awareness (OfA) - We aren't sure of the awarenesses completely, but smoz thinks it's related to how large of a radius a player can "see". If the puck is in this area, the player will go for the puck. Also, it seems to determine where the player sets up in the offensive zone. Defensive Awareness (DfA) - See above, but setting up in the defensive zone. These two seem to feed off each other. If the ratio is close to 1 (like 4/4 awareness), they don't seem to excel in one awareness or the other. Shot Power (ShP) - Puck velocity from a shot, and also possibly how fast a player releases the puck. Shot Accuracy (ShA) - How accurate the shot is. Stick Handling (StH) - Ability to receive a pass. Ability to keep a puck during an attempt to take it from you or take it from the puck handler. Ability to resist a check. Ability to retrieve a loose puck. Passing (Pas) - Affects passing ability. Also, might have an effect with pass velocity. Roughness (Rgh) - Smoz I believe figured out this is Pass/Shot Bias for CPU players. The higher the number, the more they shoot instead of passing. This is not displayed in game, and the "Roughness" label is not really correct. This is a holdover from when the attributes were first found in the game when poking around the ROM. It was originally believed to be used for fighting. I will use Roughness here for "backwards compatibility". Endurance (End) - Stamina, effective when using line changes. Aggression (Agr) - Not sure, but this may determine how aggressive a player is to chasing the puck carrier. Checking (Chk) - This seems to determine how often a CPU player initiates a check. Might be tied to Aggression. Handedness (Hnd) and Fighting (Fgt) - If the number is even, the player is L, if it is odd, the player is R. The rest of the value is a fighting value, which may not be used in 94. The above are rated on a scale of 0-6 (except for Weight and Fighting, which is 0-15). What you see in the edit lines is not entirely true (this is even with smozROMs edit lines fix). The base attributes are as follows: 0 = 25 1 = 34 2 = 43 3 = 54 (3 * 18) 4 = 72 (4 * 18) 5 = 90 (5 * 18) 6 = 108 (6 * 18) (displayed as 99 on Genesis, and 100 on SNES in the Team Roster/Edit Lines pages) Weight Ratings (in lbs.): 1 = 148 2 = 156 3 = 164 4 = 172 5 = 180 6 = 188 7 = 196 8 = 204 9 = 212 10 = 220 11 = 228 12 = 236 13 = 244 14 = 252 These are displayed values, but not the values used by the game. So while these values may have some meaning to you, there's really MUCH less variation than you think. The game takes the 0-6 value, multiplies it by 5, and stores that value. The max value any attribute, regardless of any added bonuses, is 30 (or 1E in Hex). So, a player with a 6 rating at an attribute, can never be hotter (6 * 5 = 30, the max), but they can be colder. Also, a player with a 0 rating on an attribute, cannot be colder, only hotter. After this calculation, the In-Game Bonuses are added. NOTE: Awareness values are calculated in-game much differently. While all other attributes, the higher the in-game value, the better, the Awareness works opposite (the lower the in-game value the better). Don't think about this now, I will show more later. For an example, we will use Jeremy Roenick's Shot Accuracy. It is a default 5 value. His rated value is 90, but his in-game value is 5 * 5 = 25. NOTE: These were tested with Genesis, but I'm guessing it's the same for SNES. In-Game Bonuses: The game does a check every faceoff, and applies these bonuses as needed to the on-ice players only. Hot/Cold Bonus - A single random bonus is applied to EVERY attribute (except Weight and Fighting). This is a bug, as the game actually generates a random bonus for EACH of a player's attribute, to make it more "variable", but ends up only using the first value for all the attributes. @smozomacovers this in his smozROM hack, which can fix this bug, or remove the random bonus entirely. The bonus is a -3 to a +2 bonus on the IN GAME VALUE. Ex: Jeremy Roenick has a 5 for Shot Accuracy. His default in game value (before bonuses) is 5 * 5 = 25. This game, his hot/cold bonus is -2. So, this changes his ShA to 25 - 2 = 23. You can also think of it as he now has a 4.6 ShA instead of a 5 (each point of bonus = 0.2). From a ratings standpoint, this would vary the base rating from -9 to +8 (in-game values of -3 - +2). I will go over the ratings screen later on. Team Bonus - This is applied to OfA, DfA, StH, ShA, and Pas. The Team Bonus value is usually on a scale from 0 to 3, and there is a separate bonus for Home and Away. The Home bonus is a positive bonus, and applied to the Home Team. So the higher the value, the better. The Away bonus is a negative bonus, and applied to the Away Team. So the lower the value, the better (0 is best). Ex: JR's current ShA is a 23 value. CHI is playing at Home this game, so he gets the Home Bonus (CHI Home Bonus is 2). So, his new ShA is 23 + 2 = 25. Team PP Bonus - This is applied to OfA, StH, ShA, Pas. The PP Bonus is on a scale from 0 to 3. It is a positive bonus. Ex: JR's current ShA is 25. CHI goes on the PP. The Team PP Bonus is 0 (more on that in a moment). So, his ShA does not change in this case. Team PK Bonus - This is applied to OfA, StH, ShA. The PP Bonus is on a scale from 0 to 3. It is a negative bonus. Ex: JR's current ShA is 25. CHI goes on the PK. The Team PK Bonus is 1 (more on that in a moment). So, his ShA goes from 25 to 25 - 1 = 24. BUG ALERT! - Remember I said the bonuses are applied at every faceoff? The PP and PK bonuses are supposed to be applied at the opening faceoff of the PP. But, they are not! They are applied ON THE NEXT FACEOFF DURING THE PP. And, once these are applied, they will continue to be applied even after the PP is done, until the next faceoff. - Also, we have been wrong about the PP/PK byte. I believe this is a bug. For example, Boston has a 2-1 PP-PK Team bonus, according to what we know about the Team Byte Data. But, the game actually uses the second digit (1) as the PP bonus, and the first digit (2) as the PK bonus! So, in reality it's a 2-1 PK-PP bonus. A team like ANH has a value of 02, which would mean no PK bonus (which is good, a 0 change), and a +2 (or think of it like a 0.4 point increase to the original attribute) increase to OfA, Pas, and StH during a PP! Comeback Bonus - This is a new finding (and has a bug). Beginning at the start of the 3rd period, at each faceoff, the game will check the score and see if there is a tie, or a lead. It then applies a +2 bonus to OfA, Chk, and a +4 bonus to Rgh. This mostly benefits the CPU players, as Chk and Rgh increases more than OfA (again, because of the way it's calculated). This bonus is applied to BOTH teams if there is a tie, and to the LOSING team if applicable. It also is applied for the whole OT (to both teams). So what this means is CPU controlled players become more aggressive with checking, and if you are playing 1 player, the CPU team will take more shots. The OfA bonus helps those who have lower OfA (not so much with 5 and 6 rated players), to sit in better spots for one-timers and rebounds. Roughness (Passing Bias) is a hidden stat. It doesn't show up on the ratings screen. JR has a 2 Rgh rating or a 2 * 5 = 10 in-game value. Which means he passes more than he shoots (controlled by CPU). This bonus would bump him up to 14 in-game value. BUG ALERT! - The Comeback bonus does a check at each faceoff, not just looking at the score of the game, but also the time remaining (in the 3rd period only this is checked). If there is a faceoff with less than 2:30 remaining, it REMOVES the bonus. I think they intended to only apply this bonus with less than 2:30 remaining in the 3rd, but they messed up. So imagine losing in a 10 min period game, where you would have at least 7:30 of bonus over your opponent. You can thank this bug. PLAYER RATINGS - Warning, this will get a little complicated You are used to seeing player attributes on the Edit Lines and Team Roster screens in a 25-99 or a 25-100 scale. But, the game really sees them in a 0-30 scale, like what was shown above. So, there is much less variance in the game than what you see on the ratings screen. Remember I said the ratings Hot/Cold values were -9 to +8? Yes, this is the displayed ratings variance, but the in-game variance is really -3 to +2. So, what does this mean? Example: JR has a 5 ShA. This game, his hot/cold is -7. His ShA rating display would be 5 * 18 = 72, and then 72 - 7 = 65. His in-game value is 25 (5 * 5 = 25). The game takes that -7, divides it by 3, and dumps the remainder (-7 % 3 = -2). Then, adds it to his in-game value, so 25 + -2 = 23. But, what if his hot/cold bonus was -8? The ratings display would be 72-8 = 64. His starting in game value is 25, then -8 % 3 = -2. So, 25 + - 2 = 23. So even though his hot/cold bonus changed, it didn't effect his in-game value (the value the game actually uses). So you can look at all the In-Game Bonus (Hot/Cold, Team, PP/PK, Comeback) as so, with the effect on the 25-100 rating scale - -3 (-9 through -11 rating change) -2 (-8 through -6 rating change) -1 (-5 through -3 rating change) 0 (-3 through +2 rating change) +1 (+3 through +5 rating change) +2 (+6 through +8 rating change) +3 (+9 through + 11 rating change) +4 (+12 through +14 rating change) Even though there's a variance in the ratings, I believe it's just for display purposes. The in-game value uses the values in bold. Also, the Edit Lines and Team Roster ratings displayed DO NOT show any of the Team Bonuses, just the default rating + the hot/cold bonus. The lesson here is the Edit Lines and Team Rosters never show you the exact rating for an attribute. AWARENESS CALCULATION Offensive and Defensive Awareness in-game values are calculated differently, and thus the in-game bonuses have a different effect on them. The other attributes that get bonuses are calculated in game as so - Default attribute value (0-6) * 5 + in-game bonuses (ranging from -3 to +4 in some cases) Offensive Awareness = [30 - (OfA attribute value + hot/cold bonus + PP bonus + PK bonus + Team bonus + Comeback bonus) / 2] / 2 (yes, it's confusing, remember PEMDAS) Defensive Awareness = [30 - (DfA attribute value + hot/cold bonus + Team bonus) / 2] / 2 All you have to know here, is that the bonuses have a larger effect on players with lower awareness. The lower the awareness, the larger the bonuses make a difference. Players with 5 or 6 Awareness attribute value will not benefit as much from the bonuses as players with 2-4. But, if the bonuses are all positive, a player with a 5 rating may benefit with a small bump. Also, the LOWER the total value here, the higher the actual Awareness of the player (unlike the other attributes, where higher value is better).
    1 point
  2. *FINAL* UPDATED LINES (after 11th hour trade with RaiderCanuck) Halifax Mooseheads LD: D. Sweeney RD: Sjodin LW: Broten C: Bradley RW: Granato 3rd D: Johansson Extra: Cullen G1 Tererri Duplicates: Ulf Dahlen can be changed BACK to his original #22 (Since Granato joined)
    1 point
  3. Below you will find a bunch of graphs and figures regarding the Classic Fall 2020 SNES-A regular season. Classic_Fall2020_SNES-A.csv Classic_Fall2020_SNES-A_allPlayersSummary.csv
    1 point
  4. Minnesota Drop Odjick and Add Probert Drop Kozlov and Add Keane
    1 point
  5. Just tried the rom and really love it!!! Excellent work!
    1 point
×
×
  • Create New...