zengm-games / zengm

Basketball GM (and other ZenGM games) are single-player sports management simulation games, made entirely in client-side JavaScript.
https://zengm.com
Other
361 stars 131 forks source link

Update coaching impact to be additive instead of multiplicative #444

Open david-wang-1 opened 1 year ago

david-wang-1 commented 1 year ago

I was looking at the player development code and noticed that the impact of coaching rank is purely multiplicative, as opposed to additive. This seems like a fairly non-realistic model - if our random model calculates no base change, the worst coaching and best coaching will have no impact on that player's improvement season to season. From a real coaching perspective, coaching should not disproportionately only benefit players that are already growing a lot. There should be an impact on player growth between the worst and best coaching staff, no matter whether they are on the progression scale.

The exact numbers for the additive affect are up for debate, I've gone with an age derived factor of max +/- 5, 3, and 2 for <23, <25, and others, respectively.

(As a separate point, it is surprising to me that the base prog for a player is calculated only once across the board - it could make sense to split physical, skill, and shooting skills into separate calcs with different curves altogether IMO, to enable more diverse player development instead of the general homogeneity we see in top level BBGM players today - I may cut a separate PR for that).

image
dumbmatter commented 1 year ago

Thanks!

I think you're right about this in theory. In practice, we would need to test what this actually does to the game. Like does it change the average ovr rating? Does it change the average ovr rating of the best/worst players in the league? Does it lead to any changes in player/team stats?

(As a separate point, it is surprising to me that the base prog for a player is calculated only once across the board - it could make sense to split physical, skill, and shooting skills into separate calcs with different curves altogether IMO, to enable more diverse player development instead of the general homogeneity we see in top level BBGM players today - I may cut a separate PR for that).

It's a similar issue for this stuff, but even moreso because progs are really at the core of the game. I would like for BBGM to have more stars who don't just excel at everything. I would also like to make young player development more realistic (young players should generally be better and have less extreme progs than they do currently in BBGM). I would also like to add some settings to let people control progs. But any of these things are tricky. Need to be very confident it's not making the game worse, and that it's not breaking anything else in the game. Like what about existing leagues, is there an upgrade path? What about real player ratings? So that's mostly why I haven't touched the progs code in a long time.

That's not to discourage you. Okay, well, I guess it kind of is. But anything touching progs is a big deal, and if it's significantly changing progs (maybe not this PR?) then it needs a lot of thought and testing. If it's at all disruptive (i.e. something users will notice), we'd also need to think about if it is worth doing at all, and if it makes sense to also do some other disruptive changes at the same time.

dumbmatter commented 1 year ago

Also see the part about the CLA and license here https://github.com/zengm-games/zengm#license-and-contributor-license-agreement and make sure you're okay with that!