Jump to content


All Activity

This stream auto-updates

  1. Past hour
  2. 10/10, 48 seconds. A bit of luck here and there
  3. Today
  4. Maybe now is the time to calibrate the two lists before the new portraits get into the hundreds, if they haven't already exceeded that? Before the two list get too far apart and all is lost, it looks like this player list has been a work in progress for almost 14 years now. How about have a 2nd alternate official new portrait number guy when Yolandy1998 isn't around? Just a thought,
  5. Nice way to start the new year. 6/10, 57 seconds
  6. 10/10 85 seconds Congrats Y4L, again!!! hehe
  7. 6 out of 10, 41 seconds. This high score for me was aided by two lucky guess questions that I got right that I had no business getting correct. Here are the final December rankings. It was very close.
  8. Yorlandy or anyone who wish to collaborate has open doors to join the maintenance of the new list. But if he's understandably not available he can't keep tying our hands for such long periods without even asking or accepting the help we've been offered him for years, we're frankly tired. It has been very frustrating for the rest of the creators that are still making MVP mods. I'm very sorry if it means parting ways, we hope better communication can be achieve in the future.
  9. Yesterday
  10. 4/10, 63 seconds. A fun month, at one point I thought I'd be able to reach 2nd place. Congrats Y4L. Happy new year guys!
  11. 7/10, 55 seconds. Much better than I expected. Congratulations to Yankee4Life on this month's win.
  12. 6 out of 10, 65 seconds. These questions killed me today. And also want to wish you three a Happy New Year.
  13. 8/10 93 seconds, I´ll take the opportunity to wish you guys a Happy New Year.
  14. I think there's an established player ID list already though. I'm not sure why an alternate one needs to be made if it will confuse people already familiar with the existing list and could cause compatibility issues with mods. You have to think about what making an alternate ID list means in the long term, not just about what's convenient right now
  15. Last week
  16. 8/10, 45 seconds. A number of lucky guesses today.
  17. Cubs signed RHP Hunter Harvey to a one-year $6MM contract. Athletics signed RHP Nick Hernandez to a minor league contract. Braves signed OF José Azocar to a minor league contract. Angels signed RHP Kirby Yates to a one-year $5 million contract. Padres signed C Blake Hunt to a minor league deal.
  18. A note on attributes/ratings, buckets, and design intent in MVP for roster construction One thing that can trip people up when looking at MVP Baseball’s rosters is that not all ratings behave the same way. In MVPEdit, you'll see that some go from 0–99, others cap at 15, and some don’t even go past 2. At first glance, that looks messy or inconsistent. Actually, it's not. Just like with splines, this is one of those cases where EA wasn’t trying to simulate baseball pitch-by-pitch. They were trying to simulate how baseball feels over time, using math that stays stable and readable. Once you understand what each rating scale is for, the whole thing clicks. The reason an OVR number is not a thing in MVP The biggest thing to understand is this: MVP doesn’t treat ratings as raw “how good is this guy” numbers. Instead, player ratings are intended to answer two different questions: What kind of player is this? How often should that player succeed or fail within that role? Those are very different questions, and MVP uses different scales to answer each one. The 0–15 scale: defining the type of player Most core skills in MVP, things like plate discipline, fielding, arm accuracy, range, bunting, and durability ultimately resolve to a 0–15 scale internally. This scale isn’t so much about precision but classification. Think of it as the game asking “Is this an elite defender, an average one, or a liability?” and “Is this hitter disciplined, reckless, or somewhere in between?” Once the game places a player into one of these buckets, that classification stays fairly stable. A guy doesn’t suddenly become a different hitter because he gained a point or two. He has to move tiers. This is why the game will let you move up in increments of 10 up to 50, and then in increments of 5 up to 99 for the following ratings: Bunting Plate Discipline Durability Stealing Tendency Baserunning Ability Fielding Range Throwing Strength Throwing Accuracy That’s why MVP feels consistent. Players don’t randomly swing between greatness and uselessness. The 0–99 scale: weighting outcomes inside the bucket Here’s the important part, and this is where a lot of people get tripped up: the 0–99 ratings you see in menus aren’t ignored. They’re used as weights inside the bucket. So two players might both land in the same 0–15 tier, but: the one with a higher 0–99 rating will reach the better results in that tier more often the one with a lower rating will drift toward the weaker outcomes more frequently This is why a 92 and a 97 don’t feel wildly different on any single swing. Great players separate themselves over a season, not an at-bat, and elite hitters feel reliable instead of explosive. Buckets define what’s possible. Weights define how often it happens. That’s a very baseball-friendly way to think about skill, honestly. Why some ratings go to 100 A few attributes, especially Speed, and offensive ratings like Contact and Power vs handedness are treated differently and go all the way to 100. That’s because these affect things that need smooth, continuous movement: how fast a player runs how much ground they cover how far a ball travels Speed in particular touches everything: baserunning, steals, defense, recovery. Those systems benefit from finer granularity, so EA let them behave more like true analog values. The 0–2 scale: tendencies, not talent Team and manager tendencies (steal, hit-and-run, bunt, pinch hit, intentional walk) use an even smaller scale: 0–2. This isn’t about ability at all. It’s about preference. Think of it like this: 0 = avoids this 1 = neutral / situational 2 = looks for this opportunity EA wasn’t trying to model managerial genius here. They were encoding identity. A lot of datafile blocks combine small preference flags with player traits and situation, instead of relying on a single “smart” decision. EA's design intent: Just like splines, this approach lets EA balance a lot of competing goals: Players feel different without being chaotic Ratings matter without dominating outcomes Small changes don’t break the game Seasons feel realistic instead of streaky The game stays readable and fair Most importantly, it avoids a trap a lot of sports games fall into where one rating point should never decide a baseball play. So with MVP it was a smart design choice where, ratings don’t decide outcomes, they just nudge probability. It also explains why they never designed the game using a numeric OVR system: it’s an honest reflection of how MVP evaluates players as profiles and tendencies rather than exact point totals. How this ties into the gameplay blocks Once you understand buckets and weights, the rest of the datafile will begin to make sense: <cpubatter> uses buckets to decide if a swing makes sense <batterai> assigns a contact-quality tier, weighted by ratings <batter> expresses that tier within capped, controlled ranges <pitcher> defines reliability curves, not dominance <hitnrun> blends preferences, ratings, and context into tactics Every system is speaking the same internal language. The quiet brilliance here Put all of this together and you get a really clean design throughline: Buckets instead of raw stats Weights instead of guarantees Splines instead of linear decay Bars instead of fake precision Even when it's all math under the hood the game still *feels* like baseball.
  19. Next chunk I found is called <stealtune>. <stealtune> — “Should we run here?” <stealtune> is the CPU’s steal attempt filter. It doesn’t decide the physics of the jump, the catcher’s pop time, or tag windows. It decides whether the CPU even tries, by stacking situational “common sense” rules with a few player-tool buckets (speed/steal vs catcher/pickoff). Think of it like a manager’s clipboard: “With this count, this runner, this catcher, this pitcher… are we running or are we staying put?” EA's design intent: Based on the stock values, EA was trying to make stealing: Rare for slow guys (hard “no” gate) Only modestly encouraged for elite thieves (small positive boosts) Heavily suppressed by strong-armed catchers (big negative) Less common in “wrong” situations (2 outs, 2 strikes, big score diff) Predictable enough to feel fair (so the CPU doesn’t look psychic or cheesy) It’s conservative by design. EA wants steals to exist, but not dominate pacing. What <stealtune> is responsible for How often the CPU attempts steals How strongly runner tools matter (Speed + Steal) How strongly battery tools discourage attempts (Pickoff + Catcher arm/accuracy) Situational suppression (outs/strikes/base/handedness/score) A baseline/team tendency (ManagerRating) How <stealtune> works Each time the CPU considers stealing a base, it starts with a neutral “urge,” then applies modifiers: Situation penalties (global “don’t be dumb” rules) Runner bucket modifiers (Speed + Steal skill ranges) Battery bucket modifiers (Pickoff + Catcher arm strength/accuracy ranges) Score context penalties (stop running in blowouts) ManagerRating baseline tendency The output is basically: green light / no green light. Situation penalties (flat, always applied when the condition is true) 2Outs_R1st = -30 With 2 outs and a runner on 1st, EA strongly discourages stealing. Intent: avoid “erase the inning” outs and keep offense flowing. 2_Strikes = -10 With two strikes, discourage steal attempts. Intent: don’t run into outs when the batter might K anyway. R2nd = -20 With a runner on 2nd, discourage steal logic (usually affects double-steal style behavior / unnecessary risk). LHP_R1st = -20 Lefty pitcher with runner on 1st is treated as riskier (lefties hold runners better on average). RHP_R2nd = -20 This is a bit more “engine-specific,” but intent is still clear: a certain handedness/base context combo reduces attempts. Translation: EA bakes in “baseball common sense” as negative modifiers so the CPU isn’t reckless. Speed buckets (the big gate) SpeedMin = 0.85 SpeedMax = 1.00 SpeedMod = +10 This means: if the runner’s speed is in the top bucket (0.85–1.00), the CPU becomes more willing to run. SpeedLowMin = 0.00 SpeedLowMax = 0.63 SpeedLowMod = -100 This is not subtle. This is EA saying: “If you’re slow, you are basically forbidden from stealing.” Probably one of the strongest “anti-cheese” guardrails in the entire datafile. Steal rating buckets (Low/Med/High) Steal A (low skill) StealAMin = 0.00 StealAMax = 0.64 StealAMod = -3 Steal B (mid skill) StealBMin = 0.79 StealBMax = 0.89 StealBMod = +3 Steal C (high skill) StealCMin = 0.90 StealCMax = 1.00 StealCMod = +6 Notice the gaps: 0.65–0.78 isn’t defined here. That usually means those values fall into a “neutral/no modifier” zone. What does this mean? Elite steal ratings help, but they’re not allowed to overpower the rest of the logic. Pickoff threat buckets (pitcher holding runners) Pickoff A (weak hold) PickOffAMin = 0.00 PickOffAMax = 0.50 PickOffAMod = +5 If the pitcher is bad at holding runners, stealing becomes more attractive. Pickoff B (strong hold) PickOffBMin = 0.90 PickOffBMax = 1.00 PickOffBMod = -5 If the pitcher is elite at holding runners, attempts drop. EA keeps this as a light nudge (+/- 5), not a hard gate. Catcher arm strength buckets (big deal) Weak arm (run on him) CatcherArmStrAMin = 0.00 CatcherArmStrAMax = 0.50 CatcherArmStrAMod = +5 Strong arm (don’t run) CatcherArmStrBMin = 0.90 CatcherArmStrBMax = 1.00 CatcherArmStrBMod = -15 This is the strongest negative besides SpeedLowMod. EA is basically saying: “Catcher cannon matters more than almost anything else.” Catcher arm accuracy buckets (secondary) Inaccurate throws encourage running CatcherArmAccAMin = 0.00 CatcherArmAccAMax = 0.50 CatcherArmAccAMod = +5 Accurate throws discourage running CatcherArmAccBMin = 0.90 CatcherArmAccBMax = 1.00 CatcherArmAccBMod = -5 EA weights accuracy less than strength, which makes sense. Score differential suppression (pacing / realism) ScoreDiffA ScoreDiffAMin = 5 ScoreDiffAMax = 9 ScoreDiffAMod = -30 ScoreDiffB ScoreDiffBMin = 10 ScoreDiffBMax = 100 ScoreDiffBMod = -50 Translation: in blowouts, stop running. EA is protecting pacing and “sportsmanship” feel. Manager/team tendency ManagerRating = 17 This is almost certainly a baseline aggressiveness/tendency scaler used by AI teams. You can think of it as “default green light tendency,” then everything else pushes it up or down.
  20. 6/10, 40 seconds. Freakin cricket questions
  21. 5 out of 10, 57 seconds. Par for the course on Tuesday.
  22. So, for our next block we're going to cover another block called <cpubatter>. <cpubatter> - the brain of the AI hitter The <cpubatter> block governs how the CPU decides to swing. It does not control player ratings, swing animations, bat speed, or ball physics. Instead, it defines the CPU hitter’s perception, judgment, and confidence at the plate. In practical terms, this block answers questions like: Does the CPU think this pitch is hittable? How confident is it in swinging at what it’s seeing? How much does pitch location matter? How does the count influence aggressiveness? How wrong is the CPU allowed to be? If ratings describe who the hitter is, <cpubatter> describes how that hitter thinks during the at-bat. <cpubatter> operates blind to contact outcomes though. It only evaluates whether a swing is justified, not whether it will be successful. EA's design intent: EA was not trying to build a true simulation of human pitch recognition or hitter psychology. The goal was to create a CPU batter that feels believable, fair, and consistent, while remaining scalable across difficulty levels and stable on mid-2000s hardware. Rather than using deterministic physics or advanced AI, EA relied on probability weighting, zone-based confidence, and controlled error to simulate decision-making. EA’s intent: Keep CPU behavior predictable but not robotic Avoid unfair or omniscient CPU hitting Preserve game pacing (fewer 12-pitch at-bats, fewer extreme outcomes) Make difficulty adjustments possible without rewriting logic Ensure results feel earned rather than scripted The result is a system that creates the illusion of intelligence through math, not true awareness. What <cpubatter> is responsible for The <cpubatter> block controls the decision-making layer of hitting. Everything here happens before contact, power, or ball trajectory are calculated. Specifically, it governs: How accurately the CPU “reads” a pitch How much pitch speed and movement can fool the CPU Whether the CPU decides to swing or take How pitch location affects confidence How count and situation influence aggression How much human-like error is allowed This block does not determine how hard the ball is hit or where it lands, only whether the swing attempt happens and how confident the CPU is that its timing window is acceptable to swing. Strike Zone Context (Hot/Warm/Cold) All Hot, Warm, and Cold references in this block refer strictly to strike-zone quadrants, not player streaks or momentum. The game divides the strike zone into a 3×3 grid, and each pitch is evaluated based on where it crosses that grid. Hot zones = areas where the hitter is strong Cold zones = areas where the hitter is weak Warm zones = neutral or average comfort These values adjust how confident and aggressive the CPU is when the pitch passes through those zones, especially when combined with count and discipline logic. The hot and cold zones influence willingness to swing, not contact quality or power. How the CPU Batter "Thinks" Pitch Recognition The CPU does not see the pitch perfectly. Instead, it predicts the pitch path with built-in uncertainty.. EA’s intent: Fast pitches should be harder to read Breaking pitches should occasionally fool the CPU Prediction error should scale with difficulty The CPU should sometimes act with confidence despite incomplete information This creates swings that look early, late, or poorly judged without feeling random. Discipline and Swing Decisions Once the pitch is “seen,” the CPU decides whether to swing. EA’s intent: Prevent constant chasing of bad pitches Keep walk totals reasonable Avoid overly patient CPU hitters Make count matter without stalling the game This is where plate discipline lives, not as a rating, but as a behavior filter layered on top of pitch recognition. Contact vs Power Bias The CPU is not always primarily swinging to do damage. In this block, EA intentionally biased the system toward contact over power to: Increase balls in play Reduce empty swings Create more organic rallies Avoid arcade-style outcomes Power is still present, but since this is the first block in the hitting model, it's handled downstream in <batter> and <batterai> Timing Confidence and Error Tolerance Even correct decisions can produce imperfect swings. EA’s intent: Allow early and late swings Prevent perfect timing every pitch Add natural variance to outcomes Avoid repetition in contact results This keeps the CPU from feeling mechanical or unfair. Tuning Considerations This block is safe to tune when adjustments are made with intent and restraint. High-impact tuning areas: Hot vs Cold zone confidence gaps Discipline behavior in hitter’s vs pitcher’s counts Pitch recognition error on high velocity Protection behavior with two strikes Areas to adjust carefully: Global swing decision values Prediction blending values Overall contact or power bias Small changes here can dramatically alter CPU behavior. Final Notes: The <cpubatter> block is best understood as the CPU’s eyes and judgment, not its strength. EA designed this system to preserve pacing, protect fairness, simulate intelligence without true AI, and funnel outcomes toward believable middle ground. Contact quality is evaluated later by <batterai>, and final outcomes are shaped by <batter>.
  23. Marlins acquired OF Esteury Ruiz from the Dodgers for RHP Adriano Marrero.
  24. 9/10 77 seconds, what a lucky day
  25. It's just the opposite. Learning how this works under the hood just makes it more magical!
  26. 9/10, 74 seconds. Very pleasantly surprised by this score.
  27. No, not at all. What you are doing here is fascinating. There was so much more about that game then I thought we knew and you just proved it.
  28. Andrew Heaney announced his retirement from professional baseball. Joe Kelly Announces End Of His Playing Career. Rangers signed RHP Nabil Crismatt to a minor league contract.
  29. Thank you for the kind words! I just hope in explaining how MVP "works" I don't ruin the magic for folks
  1. Load more activity


×
×
  • Create New...