Jump to content

Editing Rosters through REDitor: A Research Thread


Kccitystar

Recommended Posts

Tinkering with this tonight, specifically tinkering with the properties of the default slider. I've set the difficulty sliders to 50 which is baseline (or the "Pro" difficulty setting)

 

I chose the slider for two key reasons:

  • If I'm trying to figure out if the wind settings play a factor with pitch movement, the lateral movement a slider has is clearly visible
  • If I'm tinkering with trajectory and lateral movement, I can see that too.
     

Here's the default behavior of the slider. Kershaw has the most elite slider in the game, so thats' who I used to test the pitch. Additionally, the location is static. Just a max-ed out slider down the middle. This guarantees I'm going to have the pitch land in the same spot every time.

 

Here's the modified slider with all of the values adjusted on the right side of the screen. Looks like it's got more bite than the default pitch characteristics!

Here's the more complete, final overhaul of the slider with every adjusted value on the side. Can't wait to see what a revamped fastball looks like in the game!

Link to comment
Share on other sites

wow congratulations @Kccitystar!! This is simply spectacular, the slider configuration looks great.

In the last roster that @headtrip47 edited and shared, I made some small modifications to the types of pitches, but I based them only on the physics of pitch movement, which made them look a little more real. but you are taking it to another level, keep it up

Without a doubt, I will follow your research very closely. Thank you for all the time you put into improving the game.

Link to comment
Share on other sites

28 minutes ago, Bostonnico said:

wow congratulations @Kccitystar!! This is simply spectacular, the slider configuration looks great.

In the last roster that @headtrip47 edited and shared, I made some small modifications to the types of pitches, but I based them only on the physics of pitch movement, which made them look a little more real. but you are taking it to another level, keep it up

Without a doubt, I will follow your research very closely. Thank you for all the time you put into improving the game.

 

I'll DM you with the revised pitch values for you guys to test

Link to comment
Share on other sites

So about those Dif values for each pitch...:

The DifVeloc, DifUnexp, and DifTraj values are used in combination to contribute to a 100-point scale that determines a pitch's overall rating in the game, and they correlate directly with a player's attributes for speed, movement, and control. The values act as weights for each attribute in calculating the pitch's effectiveness.
 

In this system, the Dif values would effectively scale a pitcher's individual attributes against a league average to determine the pitch's overall rating. This would mean that adjustments to the Dif values need to be made with careful consideration of how they would affect the weighting of each attribute in the overall calculation.
 

Let's take Clayton Kershaw's slider as an example: If his slider attributes are 86 speed, 99 movement, and 98 control, and we're using the DifVeloc, DifUnexp, and DifTraj values as weights, the calculation for the overall rating of a pitch, like the slider in this case, would be something like this:

Pitch OVR = (Speed * DifVeloc) + (Movement * DifUnexp) + (Control * DifTraj)

Those three values are meant to help the game calculate dominant pitches from individual players.

Link to comment
Share on other sites

On 2/23/2024 at 4:56 PM, Kccitystar said:

Pitches Tab:

 

j7uDYX5.png

Took a while but I was able to understand what these values were that we were so stumped on for some time that weren't explained completely through Vlad's documentation for REDitor, like these values:

 

  1. DownImp1
  2. DownImp2
  3. Param4
  4. DifVeloc
  5. DifUnexp
  6. DifTraj

 

Since they're shorthand names for global pitch attributes/characteristics, this is kind of what I've been able to breakdown, and I may be wrong to an extent. I will note that sliders in the game can impact pitch characteristics and how the CPU behaves:

  • DownImp1 and 2 might represent two different aspects of the downward impulse applied to the pitch. This could relate to how the pitch's speed or trajectory is affected by gravity or the pitcher's motion over two different phases of the pitch's flight (initial release from the hand vs arrival to home plate)
  • HorizImp would suggests Horizontal Impulse, which would affect the pitch's movement left or right. This could be a measure of the pitch's ability to break or move horizontally, influenced by the spin and the angle of the pitch as released by the pitcher. For a curveball, sinker or a slider, a higher value might indicate a greater break. The default is 0 for these pitches.
  • Param4 was the big one I was trying to figure out, but because it only has decimal values going from 0.5 to 0.8, it's probably a coefficient related to one of the pitch attributes, so I'm going to tinker with this a bit
  • DifVeloc, DifUnexp, DifTraj (or as I call them, "The Dif's") are meant to simulate the dynamics of facing different pitch types from the perspective of the hitter/cpu and it's scaled from 0.0 to 1. I'll use the fastball in the game as a baseline:
    • DifVeloc would represent how difficult a pitch is to hit because of the velocity variation (difference between MinSpeed and MaxSpeed). A value scaling up from 0.0 to 1 affects how hard it is for you or the CPU to time a fast pitch. So if a pitch has a 0 value, there's no additional challenge from velocity variation, but if a pitch has a 1 value it's extremely hard to get solid contact on a pitch. The pitch speed is predictable or doesn't significantly impact how you can time the pitch. A fastball has a default value of 0.5 for example, so it's still challenging to time but you're able to square it up.
    • DifUnexp might represent how difficult a pitch is to hit due to unpredictability in when you or the CPU are sitting on one. A value scaling from 0.0 to 1 would affect how predictable the pitch is for you or the CPU to anticipate. So a value of 0.0 means the pitch is easy to read or anticipate in a certain count, but if a pitch has a 1 value it means it's extremely unpredictable, so either the pitch is not often used, it moves closely to another pitch until it's final approach to the plate or its movement can fool you. A fastball has a default value of 0.5, for example, so it might be used in certain counts or it's deceptive enough to make you or the CPU lookout for one.
    • DifTraj might represent difficulty due to trajectory, so a value scaling from 0.0 to 1 means a pitch might be hard to hit based on how clear the pitch's path is to you or the CPU. So a pitch with a 0.0 value would mean it's a completely flat pitch or its movement is predictable for you or the CPU, but if a pitch has a value of 1, it means that the pitch's trajectory is challenging, either there's significant break, drop, or unexpected movement that you or the CPU need to adjust to. A fastball has a default value of 0, for example, so you would only need to worry more about timing and speed of the pitch.

Let's use the baseline Dif values of a fastball (0.5, 0.5, 0) and compare that to two other pitches, a 2-seam fastball, and a Curveball. It's an example of a pitch that doesn't deviate much from the in-game fastball vs a pitch with completely different characteristics.

  • Compared to the fastball, the 2-seam fastball's Dif values have a slightly higher variance from the fastball (0.4, 0.4, 0.2). What does that mean for you? This means that you or the CPU can anticipate and adjust to 2-seamers but the DifTraj being 0.2 means it's more challenging to hit it squarely. Which 2K attempted to have reflect real life, because two-seamers have different degrees (default is 260 for the game's 2FB) of armside fadeaway so they induce grounders, like sinkers.
  • A Curveball in the game has Dif values of (0.05, 0.5 and 0.45). What does that mean for you? It means that it's not hard to time (DifVeloc) but it's speed is fairly consistent. It's got the same level of unpredictability as a fastball (a value of 0.5 means that it can surprise you in any count, and there's a 50/50 chance the CPU will take the pitch), but the high DifTraj value (0.45) means that it's much harder for you or the CPU to hit because of the big break (default is 150 for the curveball). 

DownImp 1 and 2 also affect the spin on the pitch, the closer you get to 0, the less RPM's you get.   It doesn't affect gameplay on its own.  But my remove any influence of the DifTraj parameter if DownImp is set to 0.  Just my guess, but here is a video of a Fastball with DownImp 1 and 2 set to 0.  

 

https://streamable.com/ppsya5

 

Edited by WacoKid
Link to comment
Share on other sites

2 hours ago, WacoKid said:

DownImp 1 and 2 also affect the spin on the pitch, the closer you get to 0, the less RPM's you get.   It doesn't affect gameplay on its own.  But my remove any influence of the DifTraj parameter if DownImp is set to 0.  Just my guess, but here is a video of a Fastball with DownImp 1 and 2 set to 0.  

 

https://streamable.com/ppsya5

 


Interesting. I'll continue to tinker with this

Link to comment
Share on other sites

1 hour ago, Kccitystar said:


Interesting. I'll continue to tinker with this

Something I've been tinkering with in REDMC, is trying to extract the ls_standings4 5 and 6 iff files.  I'm pretty sure it is why, though you successfully moved the Astros to the AL west, they will not appear in the standings.  The AL west standings panel was clearly made to only show 4 teams.  I know scne files can be eidted with notepad ++, at least in more recent NBA 2k titles.   I have a fully functioning REDMC, but it does not extract the embeded textures from these scene files.   I've dove back into pitch editing a bit as well, starting from scratch.  Let me know if you want to discuss.

 

My Discord username is cbrid

Link to comment
Share on other sites

24 minutes ago, WacoKid said:

Something I've been tinkering with in REDMC, is trying to extract the ls_standings4 5 and 6 iff files.  I'm pretty sure it is why, though you successfully moved the Astros to the AL west, they will not appear in the standings.  The AL west standings panel was clearly made to only show 4 teams.  I know scne files can be eidted with notepad ++, at least in more recent NBA 2k titles.   I have a fully functioning REDMC, but it does not extract the embeded textures from these scene files.   I've dove back into pitch editing a bit as well, starting from scratch.  Let me know if you want to discuss.

 

My Discord username is cbrid

 

The Astros being visible in the AL West column is related to changes to your roster, not through the IFF you're looking to modify

Link to comment
Share on other sites

Just now, Kccitystar said:

 

The Astros being visible in the AL West column is related to changes to your roster, not through the IFF you're looking to modify

Yah, I have them in the AL West in game, in a franchise, but only 4 of the 5 teams will show up in standings.  Whoever is last in the division, falls off the list.  They are still in the division, but disappear if they are in that 5 spot.  I was wondering if it was a graphical issue with the game, since it was designed with only 4 teams in the AL west.  All functions fine though

Link to comment
Share on other sites

Thinking out loud, if the database entry is correct, then it should be a display issue. Now the problem is to find where said display is.
There doesn't seem to be any data entry in the roster files that controls this, though my experience is mostly with NBA 2K series. You might be on to something with the .IFF file. Or it could be somewhere else completely.

 

Link to comment
Share on other sites

WacoKid and I spent some time working on these new pitch shapes. For these demos, my pitcher, Firstman Lastings, has his arsenal set to their maximum OVR so these are all considered "elite" pitches by the game. I've also adjusted the difficulty slider for Pitch Speed to 100 so you can see the movement in the game's concept of "real world speed".

Circle Changeup - We adjusted the trajectory values so there's some fade and the DownImp values were adjusted so there's some downward force applied to the pitch, but not as drastic. Very Devin Williams-esque. Looks phenomenal.
bEJwhiQ.gif

Changeup, with fastball followup. The changeup has less drop than the circle change, and the fastball was tweaked slightly to have some small arm-side deviation so it doesn't appear to be laser straight. The speed differences are absurd for someone who clocks their fastball at 104.
sJ6czPP.gif

Sinker with arm-side fade. Jordan Hicks style movement is possible!
tIdegD9.gif

Two-Seam Fastball - Even though it can be often interchangeable with the Sinker these days in MLB, we wanted to give it some more lateral run like a traditional two-seamer but it's adjusted enough to break late. Looks good.

EBX6C28.gif

 

I revamped the cut fastball and it looks absolutely devastating. Mariano Rivera would be proud.
QuiHAuC.gif

Lastly, we spent some time looking at developing a pitch that doesn't exist in the game, the Sweeper. The idea was to have its movement somewhere in between the curveballs in the game and the slider (which is what it is in real life), and I think we got there. While we can't add pitches, I wanted to experiment so I swapped out the values of the Eephus pitch with what a sweeper would look like.

hleofDY.gif

Ian Kinsler never stood a chance.

Would love to hear some feedback!

Link to comment
Share on other sites

4 hours ago, sabugo said:

Thinking out loud, if the database entry is correct, then it should be a display issue. Now the problem is to find where said display is.
There doesn't seem to be any data entry in the roster files that controls this, though my experience is mostly with NBA 2K series. You might be on to something with the .IFF file. Or it could be somewhere else completely.

 

Yeah, its all functions correctly just wont display correctly in the standings menu, onky 4 teams can be displayed for the AL West.  My thought is its in the 3 ls_standings.IFF files.  I couldn't get REDMC to export the textures from the SCNE files inside except for irrelevant ones related to sponsors.  Any ideas?

Link to comment
Share on other sites

1 hour ago, sabugo said:

Have you tried any of the other programs that work with the NBA 2K series? Mod tool or 3DM?

Never been able to get the NBA 2k12 mod tool to open, i was tried yesterday.  I think its a Java issue

Link to comment
Share on other sites

5 hours ago, Bostonnico said:

@kccitystar @WacoKid  Guys, those new adjustments, the pitches are super cool, it would be interesting to hitter those pitches with those new movements.

Up to KC when it comes out.  But while i have you, is there a way I could unassign player name audio from every player?  So no one has a name used by the announcers or PA?

Link to comment
Share on other sites

54 minutes ago, WacoKid said:

Up to KC when it comes out.  But while i have you, is there a way I could unassign player name audio from every player?  So no one has a name used by the announcers or PA?



I mean the existing values can be tested, sure, but the dif values for the revamped pitches haven't been adjusted.

After adjusting the Dif values, a roster maker would just need to re-calculate every pitcher's pitch rating in the game to accomodate the changes since it would change the weight of each rating and affect CPU behavior

Link to comment
Share on other sites

21 hours ago, WacoKid said:

Up to KC when it comes out.  But while i have you, is there a way I could unassign player name audio from every player?  So no one has a name used by the announcers or PA?

I have never tried to do that, but I suppose that by deleting the audio ID number assigned to each player, both the announcer and the PA will not mention their names, I have seen that there are some exceptions with some renowned players, when their slot is used for a new player, even if the audio ID number is changed or deleting, always mentions the name of the original player. I don't know if you managed to understand what I want to tell you.

21 hours ago, Kccitystar said:



I mean the existing values can be tested, sure, but the dif values for the revamped pitches haven't been adjusted.

After adjusting the Dif values, a roster maker would just need to re-calculate every pitcher's pitch rating in the game to accomodate the changes since it would change the weight of each rating and affect CPU behavior

Ok thank you very much, KC

I'm sure it will be worth the wait until your final version.

Link to comment
Share on other sites

17 hours ago, Bostonnico said:

I have never tried to do that, but I suppose that by deleting the audio ID number assigned to each player, both the announcer and the PA will not mention their names, I have seen that there are some exceptions with some renowned players, when their slot is used for a new player, even if the audio ID number is changed or deleting, always mentions the name of the original player. I don't know if you managed to understand what I want to tell you.

Ok thank you very much, KC

I'm sure it will be worth the wait until your final version.

Yeah i get you.  I set all the audio ids to -1 but the play by play announcers till say names based on the slot.  Nothing we can do about that.  Thanks man.

Link to comment
Share on other sites

There's additional properties to each slot that isn't accounted for in Vlad's editor, like Inside Edge data, hot/cold zones, etc but REDitor was never really developed further for MLB 2K12

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.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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...