Jump to content

SIM target distribution hack


bruddog

Recommended Posts

Contrary to prior belief(i think) the playbook definitely has no effect in skp vs skp  mode for passing as far as what targets get thrown to. The target chance table is non-linear. This means the values are not evenly spaced apart. Also it means you have to make sure the starters target chances add up to a certain value or you will never get passes to the latter players since the game checks the targets in the following order

 

RB1, RB2, WR1, WR2, TE. 

 

EXAMPLE:

If you gave RB1 and RB2 target chance ratings of 15 or 0F in hex. WR1, WR2 and the TE would never get targeted. This is because a target rating of 15 corresponds to a value of 128 decmail  in the target chance lookup table. So 128+128 = 256 . It is only comparing the target chance to the random value and then subtracting that amount.

 

If the random value was 255. 128 is less than 255. It would increment the target index and subtract 128 from the random value and use this value as the new value to compare to. This 
means the next time through 128 would equal RB2s target chance and it wouldn't matter what WR1, WR2, and the TE's target chances are. 

 

HACK
There is a better way to fix this but this is a quick and dirty fix to get general pass distributions per team. It is a cumulative percentage table

 

RB1 10%,        TABLE VALUE $19   (256 *10% = 25. Converted to hex = $19)

RB2 10%         TABLE VALUE $32   (256 *10% = 25. Converted to hex = $19 + previous table value $19 = $3A)

WR1 30%        TABLE VALUE $7F    (256 *30% = 77. Converted to hex = $4d + previous table value $19 = $7F)

WR2 30%        TABLE VALUE $CC    (256 *30% = 77. Converted to hex = $4d + previous table value $19 = $CC)

TE     20%        TABLE VALUE $FF    (no need to calculate it is the remaining percentage always leave at FF)

 

These values are duplicated for the p2 side the way the target roster ids are stored in an array. 

 

SIM_TARGET_HACK:

SET(0x175a9, 0xA53DDD80BA9013E888D0F7)

 

TARGET_DISTRIBUTION_TABLE:

SET(0x19B90, 0x19327FCCFF19327FCCFF)

 

 

This should work on any rom but double check the 19B90 location in case there is a hack there. It should be FF's

 

Link to comment
Share on other sites

  • 5 months later...

So how does this handle players say like Christian McCaffrey, James White or Saquon Barkley who are the best or second best receiving target on their teams? Doesn't this lock all teams to the same percentage distribution? Just trying to wrap my head around what this exactly does and doesn't change.

Edited by SBlueman
Link to comment
Share on other sites

I think it uses the sim target value as a reference and checks that against a random number.  If the check fails, it goes onto the next eligible receiver until someone gets the catch.  I think this hack makes it more likely that the check fails for rbs before moving onto the wrs, giving the wrs more catches.  The same can probably be accomplished by having rbs with lower sim values but i haven't ever messed with this to see if it gives finer control over simmed stats.  It doesn't lock teams into the same distribution per se, just the probability.  That is, if everyone on the offense had the same sim target value, you could expect them to roughly follow this distribution. If you wanted to have a rb get a ton of catches with this hack, you'd have to bump up their sim target value to be a lot higher.

Link to comment
Share on other sites

  • 3 months later...

I would like to add this to my Hack but can't find that string on my version. Also there was someone who was able to hack it so that when players locked up they would move back and forth, like in Supertecmo II. I would also like to know how to hack it so that pass block is based on Rush Power.  I would also like to add 4-3 defenses to some teams if that is possible. If you could direct me to information that would help it would be very much appreciated. 

Link to comment
Share on other sites

  • 2 years later...
On 2/9/2019 at 1:08 PM, SBlueman said:

So how does this handle players say like Christian McCaffrey, James White or Saquon Barkley who are the best or second best receiving target on their teams? Doesn't this lock all teams to the same percentage distribution? Just trying to wrap my head around what this exactly does and doesn't change.

 

Yes, I'd read this as a general distribution for someone who didn't want to take the time to modify the targets per team.

Link to comment
Share on other sites

  • 1 year later...
46 minutes ago, Ryzzynnwa said:

If you could tell me where the string was, I can change it. Also has anyone figured out the pass play indicators? The Running play indicators are known but the passing ones I can't find anyone who has figured out what they mean

 

 

What do you mean pass play indicators?

Link to comment
Share on other sites

10 hours ago, bruddog said:

What do you mean pass play indicators?

There is a string right after the run play indicators for who is running the ball on the play. This sets QB RB1 RB2 WR1 WR2 for the play, so when the sim runs it checks here for the teams playbook and who is assigned as the runner. The string after is the string for the pass plays, the only thing I can think of is that it is set to the read progression for each passing play. RB1 is first read or WR1 is first read, etc... There is clearly something happening I am just wondering if anyone has knowledge of that string.

Link to comment
Share on other sites

No not offensive preference. When you go to your playbook and change a play, every running play states who is the runner for that play. What I want to know is what the passing numbers do? Do they tell you who is first read or do they tell you how many players are eligible on that play

Link to comment
Share on other sites

@Ryzzynnwa

 

Please post a screenshot of the hex location you are talking about….or the address.

 

I don’t know what “passing numbers” you are referring to. The bytes after the run play player indicator bytes have nothing to do with passing. They are team offensive preference bytes.

 

The order of the wr targets is built into the the actual wr routes play design.

 

When the game is going thru the “script” for each player. If there is a pass target command for that player, it reads the next byte to see what target number they are and adds to the total number of targets available.
 

 

Link to comment
Share on other sites

2 hours ago, bruddog said:

The order of the wr targets is built into the the actual wr routes play design.

 

When the game is going thru the “script” for each player. If there is a pass target command for that player, it reads the next byte to see what target number they are and adds to the total number of targets available.
 

 

How do I change the order the computer goes through for each pass play?

Link to comment
Share on other sites

12 minutes ago, Ryzzynnwa said:

How do I change the order the computer goes through for each pass play?

You don’t….

 

But seriously you can’t really set each specific pass play to a certain order.
 

Because its not decoupled from the route itself. That would have been nice but they didn’t do it.

 

Many plays share the same route scripts 

 

psuedocode for a streak route

1. set to possible target (2nd target)

2 move towards the endzone 7 yards in x direction

3 loop back to instruction 2

 

This streak route might be used in 6 different pass plays


So if you mess with the order of routes for one play you might affect/break passing for plays that use the same routes.

 

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...