billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 9, 2016 16:26:47 GMT -5
|
|
|
Post by Keith Van Horn on Feb 9, 2016 22:40:29 GMT -5
Still over achieving I see
|
|
billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 9, 2016 23:00:46 GMT -5
Still over achieving I see I think your team is just good. We make good builds; it's like you always saw overalls don't matter if you assemble a good team. That being said, you could also lose your next 10 games :D
|
|
|
Post by Hanamichi Sakuragi on Feb 10, 2016 0:27:19 GMT -5
Sorry Lebron, Curry is much better.
|
|
|
Post by John Stockton on Feb 10, 2016 21:47:34 GMT -5
Sorry Lebron, Curry is much better at offense. ftfy
|
|
|
Post by Tony Stark on Feb 11, 2016 8:56:37 GMT -5
GoLLLLLLLLLLLLLLLden State Warriors
#BenSimmons
|
|
|
Post by Keith Van Horn on Feb 11, 2016 15:52:14 GMT -5
Still over achieving I see I think your team is just good. We make good builds; it's like you always saw overalls don't matter if you assemble a good team. That being said, you could also lose your next 10 games :D It either needs to be one thing or the other. It can't be we assemble a good team that fits right and they play well and win AND the sim has some weird primacy bull shit here that decides wins and losses. That being said, we can't get what we want. But it would be interesting to know if there is something like primacy here.
|
|
billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 11, 2016 16:24:31 GMT -5
I think your team is just good. We make good builds; it's like you always saw overalls don't matter if you assemble a good team. That being said, you could also lose your next 10 games :D It either needs to be one thing or the other. It can't be we assemble a good team that fits right and they play well and win AND the sim has some weird primacy bull shit here that decides wins and losses. That being said, we can't get what we want. But it would be interesting to know if there is something like primacy here. No, there is absolutely not any hidden variables for any of the players. Pace and usage are calculated based on the individual ratings. However, there are bonuses for having certain types of players on the floor together, having multiple rebounders, or 3 point shooters, or ball handlers will improve your team, which makes sense.
|
|
billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 11, 2016 18:23:03 GMT -5
These rankings are really weird when I look at them. Miami is ranked 17th in performance but is 24-14 and coming off a huge winning streak...
so... take this all with a grain of salt lol.
|
|
billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 11, 2016 19:39:30 GMT -5
I think your team is just good. We make good builds; it's like you always saw overalls don't matter if you assemble a good team. That being said, you could also lose your next 10 games :D It either needs to be one thing or the other. It can't be we assemble a good team that fits right and they play well and win AND the sim has some weird primacy bull shit here that decides wins and losses. That being said, we can't get what we want. But it would be interesting to know if there is something like primacy here. github.com/dumbmatter/basketball-gm/tree/master/js/core/gameSim.js is the game simulation code, and it's called only by github.com/dumbmatter/basketball-gm/tree/master/js/core/game.jsAs you'll see, there's nothing too weird going on. There is some "chemistry" related to things like.. your offense will be clogged if you don't have any shooters, your defense is better if you have a shot blocker but you don't need 5 shot blockers, etc.
|
|
billy
Miami Heat
Posts: 7,174
Likes: 6,145
Total Bank: 3,050
|
Post by billy on Feb 11, 2016 20:20:21 GMT -5
Substitution Code
for (t = 0; t < 2; t++) { // Overall values scaled by fatigue ovrs = []; for (p = 0; p < this.team[t].player.length; p++) { // Injured or fouled out players can't play if (this.team[t].player .injured || this.team[t].player .stat.pf >= 6) { ovrs = -Infinity; } else { ovrs = this.team[t].player .valueNoPot * this.fatigue(this.team[t].player .stat.energy) * this.team[t].player .ptModifier * random.uniform(0.9, 1.1); } }
// Loop through players on court (in inverse order of current roster position) i = 0; for (pp = 0; pp < this.playersOnCourt[t].length; pp++) { p = this.playersOnCourt[t][pp]; this.playersOnCourt[t] = p; // Loop through bench players (in order of current roster position) to see if any should be subbed in) for (b = 0; b < this.team[t].player.length; b++) { if (this.playersOnCourt[t].indexOf(b) === -1 && ((this.team[t].player .stat.courtTime > 3 && this.team[t].player[b.].stat.benchTime > 3 && ovrs[b.] > ovrs ) || ((this.team[t].player .injured || this.team[t].player .stat.pf >= 6) && (!this.team[t].player[b. ].injured && this.team[t].player[b. ].stat.pf < 6)))) { // Check if position of substitute makes for a valid lineup pos = []; for (j = 0; j < this.playersOnCourt[t].length; j++) { if (j !== pp) { pos.push(this.team[t].player[this.playersOnCourt[t][j]].pos); } } pos.push(this.team[t].player[b. ].pos); // Requre 2 Gs (or 1 PG) and 2 Fs (or 1 C) numG = 0; numPG = 0; numF = 0; numC = 0; for (j = 0; j < pos.length; j++) { if (pos[j].indexOf('G') >= 0) { numG += 1; } if (pos[j] === 'PG') { numPG += 1; } if (pos[j].indexOf('F') >= 0) { numF += 1; } if (pos[j] === 'C') { numC += 1; } } if ((numG < 2 && numPG === 0) || (numF < 2 && numC === 0)) { if (this.fatigue(this.team[t].player .stat.energy) > 0.7) { // Exception for ridiculously tired players, so really unbalanced teams won't play starters whole game continue; } }
substitutions = true;
// Substitute player this.playersOnCourt[t] = b;
this.team[t].player[b. ].stat.courtTime = random.uniform(-2, 2); this.team[t].player[b. ].stat.benchTime = random.uniform(-2, 2); this.team[t].player .stat.courtTime = random.uniform(-2, 2); this.team[t].player .stat.benchTime = random.uniform(-2, 2);
// Keep track of deviations from the normal starting lineup for the play-by-play if (this.playByPlay !== undefined) { this.playByPlay.push({ type: "sub", t: t, on: this.team[t].player[b. ].id, off: this.team[t].player .id }); }
// It's only a "substitution" if it's not the starting lineup if (this.startersRecorded) { this.recordPlay("sub", t, [this.team[t].player[b. ].name, this.team[t].player .name]); } break; } } i += 1; } }
|
|