In the midst of the NBA Bubble Bowl, I became fascinated by all of the wildly different roster constructions from different title contenders.
- Two top ten players surrounded by late-career ring-chasing role players
- Two DPOY level wings with a half dozen 6MOY candidates
- A center who passes like a point guard and a point guard who shoots like a video game character
- The three-time reigning scoring champ, a triple double machine, and not a big man in sight
- The reigning MVP/DPOY with a supporting cast of 3&D specialists
- The reigning champion who lost their best player but found new roles for the remaining key pieces
- Two elite wings under 23 and a new All-Star PG swapped in for last year’s
- A journeyman superstar who finally found a team that works as hard as him and a young core that fully bought in to the culture
- An All-Star center who can’t shoot, an All-Star point guard who won’t shoot, and a really expensive backup center
These teams could all be in the mix next season, not to mention young teams prepared to make the leap to contention and the Warriors and Nets returning from injury-plagued seasons. It’s a good time to be an NBA fan.
How Is This Relevant?
All this to say, I got that itch to build a team of my own again. I bought NBA 2K20 on sale last year for my non-gaming laptop, but the game crashes every time I try to boot up MyCareer or play any game. All I can do is build teams in MyLeague and simulate seasons.
I’ve played hundreds of hours.
I’ve built a roster of eight 90+ overall (OVR) players under 28 and built custom rotations that allowed each one to play exactly 30 minutes. I once got every single draft pick for an entire draft (what you do with sixty rookies, I still don’t know). I’ve built dynasty after dynasty after dynasty (The Process hasn’t failed me yet). But I was ready for a new challenge.
Basketball GM
Years ago, I had played Basketball GM, which is a basketball simulation game you can play in your web browser. It is very easy to jump into, but the depth of gameplay is extremely impressive, especially considering it was all developed by one guy (Jeremy Scheff) in his free time and is absolutely free. There’s new stuff added all the time. Absolutely check it out if that’s at all your thing.
Again, I went about building dynasties, both with real and random players. I engineered title streaks that would make the Celtics blush. I put the pieces in place for statistical feats that would make Wilt Chamberlain look like not-Wilt Chamberlain. I’ve seen a 3-0 Finals deficit overcome in a double overtime Game 7. I even saw a player fatally smothered by a throng of ravenous, autograph-seeking fans after exiting the team plane.
And though I still have a lot of room for improvement as a GM (still not the best trader), I began to poke around in the options, specifically God Mode. There are a ton of fun, game-breaking features in here, but I gravitated towards the Create A Player and Edit Player features. (I’ll get back to you when I expand basketball beyond 5v5).
Wish Fulfillment
Naturally, the first thing I did was create myself, make me a perfect basketball player (100 in every rating), and let it sim for a lifetime. Now I know that adding a flawless basketball player to any team would result in an unbeatable juggernaut, so the only sensible option was to pay myself the entire salary cap. The AI was in full control of the team, so it was fascinating to watch it acquire rookies and veterans on minimum salary and try to build a contender using Bird rights wherever possible.
I won a ton of championships. Turns out when you’re averaging 74/24/9/5/5 on 56%/44%/96% shooting, the surrounding team matters very little. But when the team did start to matter is when I aged. Once you get past forty, injuries begin to rack up rapidly. I’m talking well over a dozen separate injuries missing multiple games each in a single season. With those crazy stats, I could still win MVPs while playing just forty games, but come playoff time if I got an injury that caused me to miss four games, the lackluster rest of the team basically guaranteed we’d be eliminated before I could return.
Clones
Then I made a team where everybody was the best possible, 100 in every rating. Of course they would go 82-0, but can they make All-League teams averaging just 16 minutes per game? The answer is yes, every single player did.
Then I made a team where everybody was the worst possible, 0 in every rating. Of course they would go 0-82, but can they make any games even almost competitive? The answer is no, they didn’t score one point the whole season.
This got me thinking; if this is the upper and lower bound for the performance of a team of identical non-specialized players, at what rating would they go .500? When would I make the playoffs? When would I win a championship? My first game? When would I make an All-League team? When would I go 82-0?
The plan was set. I would take a team where each player has a 0 score in every rating and increase by 1 each year for a century until the team reached all 100s.
Things to note before I dive in:
- I started this experiment in a league where I’d gotten fired as GM of the Philly Cheesesteaks.
- I’m not bitter…
- I’d added 12 expansion teams to the league, so only 8 of 21 make the playoffs.
- This wasn’t in the interest of scientific purity, I was just messing around before I committed to the experiment.
- We will be controlling the San Jose Basketball Team. Go SJBT!
- I set team spending on scouting, coaching, health, and facilities to last in the league.
- I didn’t want spending here to affect things and this was the easiest way to neutralize the variable.
- Instead of keeping the same fifteen players for a hundred years, I will cycle in 1-2 new nineteen-year-olds per year and release players after 15 years or so (or when they won’t come back).
- I didn’t want the old age injuries to throw everything off and didn’t want the whole thing scuffed if someone died in their seventies.
- I also paid no mind to the positions of incoming players, figuring if they all have the stats it doesn’t really matter, but it does affect playing time, so, yeah, that’s a variable.
- All players get a height rating of 50 for the whole simulation.
- I don’t want it to just be a tall = good thing.
- I can adjust the ratings of players and lock their ratings from autogenerated fluctuations, but nothing else about them.
- This include Mood Traits, or what players value. Players who want to win will not resign with a 0-82 team, players who want fame don’t want to get 16 minutes a game, etc.
- I often lost players due to this, so they’d just be floating around the league after. They’d also be unable to get worse as they aged, so that got a bit wonky.
- The player ratings are not what you may be used to from most sports games. These descriptions are directly from BGM:
- 85+: All-time great
- 75+: MVP candidate
- 65+: All-League candidate
- 55+: Starter
- 45+: Role player
- lower: Bad player
- The individual rating categories are as follows:
- Strength
- Speed
- Jumping
- Endurance
- Inside
- Dunks/Layups
- Free Throws
- Mid Range
- Three Pointers
- Offensive IQ
- Defensive IQ
- Dribbling
- Passing
- Rebounding
- Each year number represents the current value of every individual rating.
Without any further ado, let’s get into it.
Year 0 – Bad, Bad, Bad
We did not win a game. In fact, we did not score a point. In fact, we did not attempt a shot. We averaged 104 turnovers on our way to losing 82 games by an average score of 156-0.
This was the status quo for the next several years.
Year 4 – We Scored!
That’s right. Despite having a 0 OVR player at every position, we managed to score not one, not two, not three but four(!) points. Somehow we did this on just three shots, which is disgustingly efficient.
Beginning the next year, our overall would begin to tick up into the single, then double digits. We slowly started to not turn the ball over every possession and heave up some twos, though they usually did not fall through the hoop.
Our margin of victory deficit fell fairly linearly, but there was not much in the way of exciting developments until:
Year 35 – 3 > 2
This was the first year we averaged more than 0.1 threes per game. I guess the AI kind of knew it was pointless to even attempt them when our rating was that low. In year 33, we attempted 81.2 twos per game, which looks straight out of the seventies.
We made 3 three-pointers per game, doubling to 6 the next year. Sure it was at <30%, but I’ll take what I can get.
Year 42 – A City of Champions Once Again
Yeah, we won a game, no big deal. The Seattle Symphony didn’t know what hit ’em. Oh what’s that? I’m now getting word that we beat the Charlotte Queens in the very next game. And they both made the playoffs. Pretty casual if you ask me.
Okay, maybe 2-80 isn’t that impressive to you, but San Jose had to be in a frenzy for those back to back wins.
By now, each of our players is a 40 OVR and climbing at about 2 OVR per year. I figured we’d hit 100 OVR before each stat hits 100, but it’s tough to tell just when that will be. The team is still 0 OVR, which is to be expected of a team whose best player isn’t even role-player quality.
Another development is that some of the players, especially younger, expect bigger salaries because they’re above average for their age and expect to make a leap soon. We’ll see about that.
Year 50 – Out of the Basement
At the halfway point of our simulation, we finally had a team finish below us in the standings (eat my Old Bay, Baltimore Crabs).
We’ve had among the most offensive rebounds in the league for some time now (that happens when you miss as often as we do), but now our defensive rebounds are starting to catch up rank-wise.
Our players now have a 55 OVR, meaning they’re low-end starter quality. We’ve also had our first players hit 10 PPG, first Lin Tu and Antonio Spencer last year and now Brandon Cullen. Players who leave our team now present a headache for us, so that’s something to keep an eye on.
We made a pretty big leap from 12 to 23 wins, so we’ll see if this explosive growth keeps up.
Year 55 – Playoffs? You Kidding Me?
We didn’t even squeak in. We finished 46-36 and entered the playoffs as a proud six seed. The San Francisco Venture Capitalists may have swept us in four straight blowouts, but it was like the end of Rocky where the loser was actually the winner. Trust me, it was totally like that.
We now have the best defense in the league. It would seem that having no weak players to target and a steady stream of equally talented fresh legs to stream at will is a recipe for success. When our shots start falling, the league’s in trouble.
In worse news, we had to reach over the salary cap to resign some of our players. As our team continues to improve, I doubt we’ll complete another season below the cap. Sorry, owner.
OVR growth has slowed from +2 per year back down to +1 per year, which is a little relieving since I thought we might just zoom from worst to first.
We’ve also had two players make the All-Rookie team, first Lukasz Wojciechowski in Year 53 and now Nate Tyson. Good job fellas. At the other end of the age spectrum, because we’ve had a number of players not resign, we have some players on the roster in their forties. Hoping they get replaced before they get too much older.
Year 57 – Heart Attacks
We entered the playoffs 55-27. That’s the record of a title contender. And we’re used to the playoffs now, it’s old hat. (We got swept again the year before, but quiet.)
WCQF, New Orleans Bayou
Sweep ’em. Huh, more like Bye-You.
WCSF, Portland Roses
We lose Game 1. 0-1. That’s okay, we can—
We lose Game 2. 0-2. They’re tough, but we’re tougher. We got thi—
We lose Game 3. 0-3. That’s a death knell. No team has ever come back from down 0-3. Just make it respectable and leave with your digni—
We win Game 4. 1-3. Okay, a gentleman’s sweep, they probably didn’t want to be rusty for the conference fi—
We win Game 5. 2-3. Don’t do that. Don’t give me ho—
We win Game 6. 3-3. What is happening? They’ve had no injuries. Did we just become a totally different team? You don’t think we could become the first team ever to come ba—
We. Win. Game. 7. Unbelievable.
WCF, Houston Apollos
We lose Game 1, 2, and 3 in blowouts, and then I kid you not, we come back and win Game 4, 5, 6, and 7. We come back from an 0-3 deficit, something that’s never been done before, in consecutive series. Guess our first two franchise wins were just foreshadowing.
Finals, Baltimore Crabs
…we got swept. But what a ride!
Defense is still elite, offense is making a lot of strides (we’re not terrible at shooting anymore). Championship feels like it’s on the near horizon.
Year 58 – Trouble with Expectations
Hot off of an incalculably unlikely Finals run, we entered the playoffs as the #1 team in the league at 64-18.
(It’s not incalculable. The odds of coming back from down 0-3 twice en route to the Finals [assuming each game is 50/50] is 3/32768, or less than 0.01%.)
Despite these high expectations, we were taken to seven games in the first and second round before being ousted by the Symphony in five games. Not what we’d hoped.
Having said that, our 15th best player would be a starter on any other playoff team (63 OVR), so we just need to lock down the other team’s superstar and have somebody step up on offense each game. With the #1 defense and #4 offense, we’re in a great position and I can almost taste the champagne showers.
Year 59 – Déjà Vu
64-18, win WCQF in 5, WCSF in 5, and get swept in the WCF. At least we don’t lose close series…
We’re up to the #2 offense and now take more threes than any other team. In fact, each of our players received the Three Point Shooter badge this season.
The breakthrough is coming soon, I can sense it.
Year 60 – Officially Choke Artists
Top offense in the league? ✓
Top defense in the league? ✓
71-11? ✓
Sweep WCQF? ✓
Sweep WCSF? ✓
Win WCF in 6? ✓
Win Finals? ✘
We lose in 5 to the Cheesesteaks.
The issue with the roster is apparent. Though there are no weak points, there are no strong points either. When it comes time to hit big shots, we don’t have that guy. We don’t have a single player in the top thirty in the league. The Cheesesteaks have three, including 5-time MVP Eric Henry. He averaged 40/16/11(!) and now they’re world champs.
Our team OVR rating is 92, next best is 77. I found that when I was doing the playthrough of myself as a perfect player, the team would overperform relative to its team OVR. This team is certainly underperforming. Perhaps the team OVR calculation doesn’t give as much weight to superstars as it should. (At least that’s what I’ll tell myself to stop getting my hopes up.)
Will this team ever win a championship? I’ll believe it when I see it.
Year 61 – I See It
After slightly regressing to 69 wins (I don’t know if they’d really earned the right to coast in the regular season), we come into the playoffs like gangbusters.
Denver High?
Yeah, maybe if your team name is describing the likelihood that you just got swept, because let me check, oh yeah, it’s 100%.
Sacramento Gold Rush?
In so much of a hurry to get back to shaking pans in a river that you forgot to win a game. More like the Sacramento Iron Pyrite Dawdle.
Portland Roses?
They made it six games, but it wasn’t as close as it sounds. Combined scores were 722-621. I think OutKast has the right idea. If you lean a little bit closer, this team smells exactly like what they played like.
Which brings us to:
The Finals
And who should we meet there but our old foe the Cheesesteaks, led by now 6-time MVP Eric Henry.
Game 1 is an absolute drubbing. We clobber them 140-77 without a single player scoring twenty. eFG% was 74% vs. 37%. 1-0.
Game 2, Henry drops a 58-point triple double on 84% TS%. (Holy ravioli!) His teammate Mario Holley, a top ten player, has his best game of the series. They still lose 139-130. 2-0.
Game 3 featured the best SJBT individual performance of the series: Joe Gunderson’s scorching 20/5/4. We win 135-117. 3-0.
Game 4, win or go home for the Cheesesteaks now. Eric Henry’s 48/13/16 was enough to make it a tight game in crunch time, where he sunk a game winner for a 116-115 Cheesesteak victory. I begin mentally steeling myself to have my heart ripped out of my chest.
Game 5. Oh boy, I bet the Cheesesteaks are rethinking that Game 4 win. Any semblance of competitivity that may have been perceived after the last three games has all but evaporated. We trounce them 132-86, including a statement 47-point 4th quarter, to win our first championship in franchise history!
Eric Henry wins Finals MVP in the loss, and you know what, I can’t even argue with it. His 37/12/9 more than doubled our best player in each category.
The race between our first Rookie of the Year, Sixth Man of the Year, All-Defensive, and All-League Team selection is very much on.
Where do we go from here?
So of our 100 year experiment, it took just 12 years to go from worst in the league to champions. It kind of puts in perspective that the gap between the best and worst teams isn’t as big as it appears. However, it does mean that 88% of my time is exploring crazy outliers. Luckily, I wouldn’t be here if I didn’t find that fun.
From here on out, any season that doesn’t end in a championship will be a massive disappointment. The team is getting markedly better every year and is basically impervious to injuries since the replacement player is always just as good. We’re also spending 173% of the salary cap, which should only continue to grow.
Year 62 – Golden Boy
Dionte Swain becomes the first player in team history to win Rookie of the Year. He only averaged 7/3/1 on 14 MPG off the bench compared to runner up Tito Newborne’s 13/3/2 averaging 28 MPG as a starter, but the advanced stats absolutely adore Dionte. Old heads everywhere are shaking their fists at clouds.
Team OVR leaps up to 108 (each player now has the Interior Defender badge) while payroll has reached over $200M. The cap is $90M. Forgive me owners, but this is just the beginning.
Also, we went 75-7 and 16-0 in the playoffs. Eric Henry still wins Finals MVP in the loss. He just does not quit.
Year 63 – We Got a Squad Now
Remember three years ago when I said we didn’t have any top thirty players? Now we have fifteen of them.
Jonathan Latimer and Tim Foster both make the All-League Third Team. This team really likes to not do things for a long time and then do them twice.
All players picked up the Perimeter Defender badge and we’re now outscoring teams by 27 on average while being top three in the league in every positive team stat.
We also finally got a Finals MVP (Jonas Kingombe). Turns out all it took was to not play the Cheesesteaks. Who knew? The 78-4 season followed by the postseason sweep almost seems trivial now.
Year 64 – It Takes a Village
Joe Gunderson takes home the franchise’s first Sixth Man of the Year trophy. Really goes to show how important it is to have a deep bench. (He also made All-League Second Team, but I’d rather concentrate on 6MOY to promote team unity.) Gunderson is in a unique position on the team because he’s technically a center. Every other player on the roster is either a SG or SF, so I think the AI gives Joe slightly more playing time. He seems to be making the most of it, so I’ll let it slide.
The players have now hit 70 OVR, the team is at a bonkers 119 OVR, and everybody got the Passer badge.
Our 81-1 / 16-0 nearly immaculate season was kept from perfection by a Bayou team that didn’t even make the playoffs. I hope they know how to celebrate down in the Big Easy.
Year 66 – Undefeatable
We finally achieve the perfect season. 82 wins, four sweeps in the playoffs. The only place left to go from here as a team is to get better at running up the score.
It’s looking like our final loss of the century will be last season’s game where MVP Neal Carlson dropped a 5×5 to lead the Oklahoma 66ers to an overtime win. For reference, players on our team have never recorded a game where any of the following happened:
- Triple Double (10+ Points/Rebounds/Assists)
- 5×5 (5+ Points/Rebounds/Assists/Steals/Blocks)
- 50 points
- 25 rebounds
- 20 assists
- 10 steals
- 10 blocks
- 10 threes
The other teams in the league have combined for 12,547 such games. Eric Henry alone has 260.
Beyond these statistical feats, the only individual accomplishments left to achieve are All-Defensive Team, Most Improved Player, Defensive Player of the Year, and Most Valuable Player.
I would have thought we would get an All-Defensive Team before All-League since flashy stats are less necessary, so that seems like an inevitability. The very nature of this simulation is gradual improvement, so I would not expect to ever pick up MIP. DPOY and MVP may also prove impossible, not only because of the crabs-in-a-bucket effect of having them all steal each other’s minutes, but also that their greatest competition will be players who aged off of our team but kept their crazy inflated stats. I’m not giving up hope entirely, but it’s an uphill battle.
Year 68 – Clamps
Dionte Swain nabs the final spot on the All-Defensive Third Team. It is wild to me that we had the #1 defense in the league for thirteen years without a single player being named a top fifteen defender. Whoever’s in charge of that scheme has to be considered one of the great basketball minds of all time.
Team OVR has reached 141, payroll is coming in at an exorbitant $299M, and we’ve had every player pick up the Post Scorer, Athlete, and Rebounder badges. All that’s left is Ball Handler (which we will pick up the following year).
Year 100 – Now I Am Become Death, the Destroyer of Worlds
All Player OVR: 100
Team OVR: 282
Points Per Game: 164.5
Points Against Per Game: 76.2
Margin of Victory: 88.3
We might have run out of more games to win, but we did not run out of room for improvement. Our first championship (MOV: 17.5) was much closer to our final 0-82 season (MOV: -26.3) than our final 82-0 one (MOV: 88.3).
This is even more impressive when you consider that with each passing season, a player would be shed from our roster and replaced with a rookie. This player immediately became the best player in the league not on our team, so the competition has been getting stronger every year. We’ve been cutting MVP-caliber players for so long that every single All-League selection was drafted by our team. (Obviously, this caused our All-League and All-Defense selections to come to a screeching halt and stopped us from ever getting MVP or DPOY.)
Just how much better were we than the rest of the league?
The next best team in the league, the Orlando Juice, had two such players, Ovie Bowen and Dashon Tilghman, 100 and 96 OVR respectively. They went 69-13 in the regular season and dropped just two games on the way to the Finals, where they ran into us. Predictably, we swept them.
In the closest game, Bowen dropped 28/17/13 with an outlandish 13 blocks. It was actually tied after the first quarter and they were down just five at the half. The final score:
149-90
We had nine players score double digits, including Miles Parker scoring 27 on just 8 FGA (12/12 from the line, which is par for the course at this stage). We had 21 steals to their 2. Our assist-to-turnover ratio? 4. Theirs? 0.75
And this was the closest game against the best team.
But of course, it was never about the destination. Fifteen perfect players were always going to wreck house. It was about the journey. And to illustrate that journey, I’ve prepared some visual aids.
Lotsa Line Graphs
These graphs cover the history of the team, from Year 0 to Year 100.
Background key:
- BLACK: first season until we win our first game
- DARK GREY: first win until first season as not-the-worst team
- GREY: first season out of the basement to first championship
- LIGHT GREY: first championship to last loss
- WHITE: last loss to last season
Overall Ratings
These are predictably an extremely steady increase. The player OVR is directly derived from the individual stats and I predicted some slight variation due to rounding, but there were some seasons where player OVR would jump by two and others where it would remain flat, so there’s definitely more going on under the hood. Team OVR is not tied to the players’ individual ratings, but rather their rounded OVR. In seasons where player OVR held steady, team OVR would also hold flat, despite increasing by 5 or 6 the year before and after.
The player OVR rating took a couple seasons before it reached 1 and reached 100 a couple seasons before the end, so I’m guessing it’s bounded on both sides. The team OVR rating didn’t climb above 0 until year 47, so it’s definitely bounded on the bottom, but it climbed nearly to 300 as long as player OVR was rising.
In Year 54, player and team OVR were both equal to 59.
Shot Attempts Per Game
This one might be my favorite. At first, we literally were unable to attempt a single shot. We soon learned how to shoot twos (stopped turning the ball over every possession) and eventually were shooting more than 80 per game while attempting 0.1 threes. Just two seasons later, our 3PA was over 21. Just like that, we learned (chose) to shoot threes. From there on out, we took more and more threes until they represented over 61% of our FGA.
Also super interesting is the increase in FTA, which just climbed the entire time. Since it’s not like the refs were giving us superstar treatment, something else is going on. I have to assume that the increase 3PA slightly contributed to the increase since you get an extra shot, but that isn’t all of it. The only reasonable explanation is that we were taking a much higher percentage of our shots near the rim.
That’s right.
The AI taught itself to play Moreyball.
Shooting %
There’s a ton of variation at the beginning when we were barely taking any shots, but there’s of course going to be a general increase. Threes weren’t really attempted until the players could hit at about 30%, 2P% held at about 45% from Year 10 to Year 50 before really taking off (possibly more shots in the paint or help from spacing?) and FT% seemed to max out around 95%.
Positive Stats Per Game
Steals and blocks climbed pretty steadily for the duration of the sim, with steals being a bit steeper. Even in Year 0, we were recording 1.6 blocks per game, without scoring a single bucket, so we had to have some stat lines that look like Manute Bol.
The assists line looks remarkably similar to our points line, so it doesn’t seem that our ratio of assisted/unassisted points changed very much.
Rebounds is an interesting one. We were pulling down 25 defensive boards a game even at the very beginning, which while that is last in the league, it is in the realm of respectability. These climbed pretty steadily throughout the century, ending up around 40. Though we did have good rebounding stats, we had average height, so perhaps this would have maxed out to be even higher if the height rose too.
Our performance on the offensive glass was a lot more intriguing. At the start, no shots = no offensive rebounds. Then as we took more shots and got better at rebounding, we got more rebounds. Simple enough. However, around year 55 we slowly got fewer and fewer offensive boards. It doesn’t look like that much, but it’s from first in the league to dead last. The explanation? We simply were not missing enough shots. We fell to last in the league in offensive rebounds even though we were the best rebounding team in the league because so few shots were bouncing off the rim on that end of the court.
Negative Stats Per Game
Golly that’s a lot of turnovers! Literally every possession. The huge number of turnovers had to be the number one thing preventing us from winning a game in the early decades. We can’t score, they get easy buckets; it’s a massive lose-lose.
Personal fouls did not move all that much at all (thank you unbiased refs), though we did move from last in the league to first.
Points Per Game
As expected, points rose and points against fell. Not too surprising. There are still some interesting takeaways:
- Ending points per game was higher than starting points against.
- Perfect offense vs. average defense is a bigger advantage than average offense vs. worst possible defense.
- Points passed points against in Year 55.
- This was our first winning season and first time in the playoffs.
- Player OVR was 60, meaning the team was filled with average starters.
- The last 0-82 year and first 82-0 year both had a margin of victory of about thirty, negative and positive respectively.
- It would seem roughly thirty points is the maximum amount of variation above or below average you’ll see in the simulation, given game length and other factors.
- If games were shorter, would the smaller sample size in each game mean we’d see more upsets?
Wins and Losses
This shouldn’t be much of a surprise since it’s what the background key represented, but it’s still crazy to me how quickly we went from 0-82 to 82-0. The difference between a pair of 82-0 or 0-82 teams could be larger than the difference between a 0-82 team and a 82-0 one.
All things told, we had 5 years where we had a worse record one year than we did the year before. However, the number of years where we improved on the previous year was just 16, leaving a whopping 79 where we had the exact same record as we did the year before.
So much for gradual improvement…
Statistical Feats
These are the all-time greatest SJBT individual performances. The bar is so low…
#4 – D.Q. Thomas – 11/10/10
Doing the bare minimum to get himself included. Respect.
#3 – D.Q. Thomas – 16/11/10
It looks only slightly better, but he did notch 4 steals and 2 block and this was in the playoffs. Gotta give him credit, he did get on here twice.
#2 – Niko Williams – 17/12/10
He did this on 75/75/100 shooting splits, which is certainly impressive. Also 5 steals. Not lighting up the scoreboard, but a very well rounded performance, especially in the playoffs.
#1 – Ovie Bowen – 13 Threes
I have no idea where this game came from or how it was possible, but Ovie Bowen managed to get 45/8/4 with 5 steals and a block on just 18 FGA. A toasty 114% TS%. Nobody ever did anything close to this. Once in a century type of game on a team like this.
Hall of Fame
These are not the best players to ever play for us, since that would just be our final roster. Instead, these are the players who spent the most time as a part of our experiment, for better or for worse.
For each player, we list their games played with the team, minutes per game, points per game, rebounds per game, assists per game, player efficiency rating, career estimated wins added, and what years they played with the franchise
Brandon Cullen
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
2,100 | 19.7 | 7.4 | 3.4 | 1.7 | 10.9 | 6.9 | 35-61 |
Brandon was our longest tenured player at 27 seasons. Moreover, he was there for one of the most exciting periods in franchise history, from not winning a single game until his eighth season to eventually winning a championship in his final season. Truly an iconic part of our history.
I do remember him always being hesitant to resign, so I routinely put him in the starting lineup to try to placate him, so he averaged more minutes than most.
And yet, he looks so disinterested, like having his picture taken is somehow an imposition and he’d like to get back to his nap.
Brian Griffith
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
2,032 | 12.3 | 4.9 | 2.1 | 1.1 | 12.1 | 15.8 | 33-59 |
Brian also logged 27 seasons for San Jose, overlapping 25 of them with Brandon. However, he left two years before the team won its first ring, so there’s no doubt in my mind that a significant portion of the fan base thinks he was the piece we needed to shed before we could win a title, the Adrian Dantley to our Bad Boys Pistons. If it had been the very next season, it would be a bit more condemning, but still not a great look.
Somehow he collected more estimated wins added than Brandon despite swapping seasons 60 and 61 for 33 and 34, which is quite impressive on his part.
But he straight up looks like he’s about to cry, which I do not like.
Luke Sheldon
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
2,015 | 15.1 | 6.2 | 2.7 | 1.4 | 13.3 | 33.9 | 39-64 |
Luke was another player who stayed through from the terrible years to the terrific ones, albeit slightly later. He went from zero wins in his first year to just one loss in his final year.
For a player who averaged 6/3/1, he didn’t have too shabby of a career.
His expression is far too devious for my liking. Angry eyebrows and a smile become something of a theme, but Luke’s is one of the best.
Scott Smith
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,969 | 15.3 | 7.4 | 2.8 | 1.8 | 18.9 | 100.4 | 50-74 |
Scott’s per game stats don’t look too impressive, but given his minutes and limited role in the offense, they’re rather impressive. His 100 estimated wins with our team would be enough to make it into the actual Hall of Fame, the rest of his career notwithstanding.
- Finals MVP
- 69
- 6MOY
- 65
- 67
- All-League 2nd Team
- 69
- All-League 3rd Team
- 64
- 67
The way his smile lines peek out from the side of his goatee is rather unsettling, makes it seem like his facial hair is just floating a quarter inch in front of his face.
Lin Tu
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,922 | 17.0 | 7.9 | 3.1 | 1.7 | 16.7 | 80.9 | 45-69 |
Lin was our longest tenured player for our first 82-0 season. His first year? 4-78.
- 6MOY
- 66
You would think that for any player with a fu manchu as majestic as Lin’s, that would be the most notable feature of his face. Or maybe that beautiful flat top. But nope. The man has the tiniest nose I’ve ever seen. Honest to goodness, some of the other players have small noses, but their shape belies the true size. Not Lin. He’s got a tiny schnozz, outlined in all its glory.
Eric Rodgers
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,798 | 16.7 | 6.3 | 2.9 | 1.5 | 10.7 | 2.5 | 31-54 |
Eric is the oldest member of our Hall of Fame, having retired the very season before we made our first trip to the playoffs. Ouch!
And I’m sure many will say that he was the player holding us back a la Brian Griffith. But let me ask you something. If you were on a team for eleven years that hadn’t won a single game, would you resign? If you played another thirteen years with them, never cracking the playoffs, would you ever set out for greener pastures? Eric Rodgers wouldn’t, the loyal son of a gun.
He certainly looks weary, having suffered through a stretch of team performance that makes the last 20 years of the Knicks look like the last 20 years of the Spurs. And I don’t know if that’s a soul patch or what, but whatever it is, he’s earned it.
Costas Tsalmpouris
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,746 | 16.8 | 11.3 | 3.4 | 2.4 | 29.6 | 221.9 | 79-100 |
Costas was the oldest player on our final roster, making him the player who not only witnessed but was a key piece of the most dominant stretch of our franchise history. 22 seasons, 22 championships, 0 losses. He has a ring for every finger, toe, and, I don’t know, ear?
- ROTY
- 79
- 6MOY
- 98
- 99
- 100
- All-League 2nd Team
- 80
- All-League 3rd Team
- 79
- 81
- All-Defensive 1st Team
- 81
- All-Defensive 2nd Team
- 79
- 82
- All-Defensive 3rd Team
- 80
- 86
You can’t tell me he’s not chewing. The pursed lips, the sucked-in-but-also-kinda-puffed-out cheeks. I can’t comment on why he thought that picture day would be a good time to chow down, but he did, and now we have this to commemorate the occasion.
Monty Washington
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,742 | 19.1 | 11.9 | 3.9 | 2.6 | 27.5 | 222.6 | 73-94 |
Monty is in an interesting position for our team, seeing as how he was in for strictly the years of dominance and was iffy about resigning so received extra minutes. Resultingly, he’s one of our most accomplished players.
- Finals MVP
- 79
- 80
- ROTY
- 73
- 6MOY
- 73
- 76
- 77
- 87
- All-League 3rd Team
- 73
- 74
- 80
- 84
- 85
- 88
- All-Defensive 1st Team
- 85
- All-Defensive 2nd Team
- 80
- 88
- All-Defensive 3rd Team
- 74
- 81
- 83
- 86
- 89
Above all else, he has such a trustable face. The eyebrows, the soft smile, my goodness. I want him to date my hypothetical daughter, and that’s only partially because his career salary was $861.8M.
Primoz Vidmar
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,680 | 18.6 | 12.3 | 3.8 | 2.6 | 28.8 | 228 | 80-100 |
Primoz is another guy who was a vet on the final roster, just one year younger than Costas. So the way that it was decided who was not resigned at the end of each season was whoever was the oldest on an expiring contract. If the simulation were to continue onward, both Costas and Primoz are under contract until the end of Year 102, at which point Costas would be allowed to walk. However, we would resign 42 year old Primoz, likely to a five year deal until the end of Year 107. This extra seven years would vault Primoz comfortably past Brandon for most games played all-time, and considering the stretch in which he did it, his stats would blow the rest of the franchise legends out of the water. That’s not to say he didn’t get a ton done as it was.
- Finals MVP
- 81
- 82
- 83
- 87
- ROTY
- 80
- 6MOY
- 83
- 88
- 90
- 94
- All-League 3rd Team
- 81
- 83
- 86
- 91
- All-Defensive 2nd Team
- 86
- All-Defensive 3rd Team
- 81
- 82
- 83
- 91
- 97
Primoz is absolutely giving Monty a run for his money on most trustable face. I’m absolutely a sucker for vaguely hopeful eyebrows and a genuine smile. If anyone wants to write a movie where the girl has to choose between her love of Monty and Primoz, that’s a guaranteed box office smash. Plus, with how sympathetic they both are, you’re almost certain be looking at fandoms emerging for each of them. That’s franchise material. I’m only selling the rights once, so I wouldn’t dawdle if I were you.
Dionte Swain
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,648 | 18.5 | 10.6 | 3.5 | 2.4 | 24.7 | 171.5 | 62-82 |
Ah Dionte, I’m not sure if there’s a player who got luckier with who drafted them when. Coming off of our first championship, we grabbed Dionte at the end of the first round and he got to come along the ride for the next 21 years. Sure he played some great basketball for us, but c’mon, the guy is basically Norris Cole/Patrick McCaw to the nth degree.
- Finals MVP
- 66
- ROTY
- 62
- 6MOY
- 79
- 81
- All-League 2nd Team
- 67
- 68
- 73
- All-League 3rd Team
- 64
- 72
- 76
- 77
- All-Defensive 2nd Team
- 77
- All-Defensive 3rd Team
- 68
- 73
- 76
His expression is that of a man who derives pleasure from other’s pain. And that haircut, sheesh! (I do not like Dionte and I’m not entirely sure why.)
Eric Slowik
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,637 | 19.4 | 11.3 | 3.8 | 2.5 | 24.9 | 182.4 | 65-85 |
The Greatest SJBT Eric debate has got to be one of the more fun ones in the league. I’m trying to think of the closest equivalent for the NBA, and it’s probably Greatest Timberwolve Kevin (Garnett > Love) or Greatest Piston Wallace (Ben > Rasheed). Of course, Slowik was objectively better at basketball, had better stats, more awards, and 21 more rings. But all that being said, I got a real soft spot in my heart for Rodgers. He gave us loyalty when we deserved it the least, and you can’t tell the story of SJBT without mentioning his name. Of course, no disrespect to Slowik.
- Finals MVP
- 68
- 70
- 72
- 85
- ROTY
- 65
- 6MOY
- 71
- 74
- 80
- All-League 2nd Team
- 72
- 73
- All-League 3rd Team
- 66
- 68
- 74
- 76
- 80
- All-Defensive 3rd Team
- 76
- 79
- 85
He looks like he’s been sobbing uncontrollably for an hour and someone popped up behind a table, shouted “Smile!” and this was all he was able to muster. It’s like some cartoon hybrid of Crying Jordan and Hide the Pain Harold.
Lukasz Wojciechowski
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,632 | 15.4 | 7.9 | 3.0 | 1.8 | 20.5 | 100.1 | 53-73 |
If you were unaware of the experiment and wanted to pinpoint a single player responsible for the changing of the franchise’s fortunes, you’d be hard pressed to find a better example than Lukasz. His rookie season, the team had its biggest win jump in franchise history, from 21 to 35 games. Two years later, we were in the playoffs. Six years after that, we were champions. Five years after that, we went undefeated and haven’t lost since.
- Finals MVP
- 64
- 73
- 6MOY
- 72
- All-League 3rd Team
- 69
- 72
- All-Rookie Team
- 53
I think I know the secret to Lukasz’s on-court success: he’s clearly on a ton of uppers. Dude looks wigged out of his mind. I’d usually say that’s a short-term move that will sacrifice long-term performance and health, but he played until he was 64, so what do I know? (The age record is held by Scott Smith, who was still dropping 32/11/6 in his age 66 season. I can’t emphasize how good these players were when they left our team. If I counted their accomplishments from after moving on from us, the section would be triple the length.)
Roland Nelson
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,613 | 15.9 | 8.8 | 3.1 | 2.0 | 23.1 | 129.2 | 61-81 |
Our championship rookie! Roland was the youngest player on our first championship team, unable to legally participate in the ensuing champagne showers. Earning a ring in his rookie season, he joins the likes of Bill Russell, Magic Johnson, Kevin McHale, and Manu Ginobili. (Of course, every subsequent rookie also accomplished this, but it wasn’t quite as special.)
- 6MOY
- 68
- All-League 2nd Team
- 68
- All-League 3rd Team
- 77
- All-Defensive 3rd Team
- 77
- All-Rookie Team
- 61
No disrespect, but it looks like he was on his college’s rock climbing team, where he’d jump halfway up the wall and dominate with the huge head start when his college’s basketball coach strolled by and recruited him, initially just for tipoffs and rebounding, but he somehow had a wet jump shot and became a bona fide stud.
Dusan Vucetic
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,598 | 14.9 | 9.4 | 3.1 | 2.2 | 28.1 | 167.2 | 78-97 |
Dusan was a fixture of the late 82-0 teams, though his minutes weren’t usually the most, so he didn’t get quite as many accolades as his teammates. Make no mistake, when he was on the court, he was as impactful as any other guy on the team. (Any differences were due entirely to random chance.)
- ROTY
- 78
- All-League 3rd Team
- 79
- 81
- All-Defensive 2nd Team
- 82
- All-Defensive 3rd Team
- 79
- 81
- 92
See, he wants you to think he’s the roughest, gruffest guy you ever laid eyes on, but I see right through it. He’s clearly a big ol’ softie trying to work this tough guy routine so you won’t pay much attention to his baking classes or his volunteer work at the raccoon shelter.
C.J. Hixson
G | MP | PTS | REB | AST | PER | EWA | YRS |
---|---|---|---|---|---|---|---|
1,540 | 17.6 | 7.5 | 3.2 | 1.7 | 14.5 | 43.7 | 43-62 |
C.J. was the final old guy on the first championship roster, from his humble beginnings winning just one game in his first two seasons.
He wasn’t as flashy as some of his teammates, but he was a real workhorse who improved himself from a end-of-the-bench caliber player to a legitimate All-League contender.
My running theory on this headshot is that he just got a new haircut and he’s nervous that his friends are gonna like it. I’m proud of his confidence.
Closing Thoughts
The San Jose Basketball Team was bad, then it was good. This was a given right from the get go. However, despite the inevitability of the success or the formulaic rise to greatness, I couldn’t help myself but root for them.
For each player in the simulation, they didn’t know they were destined to become one percent better every year without fail. They didn’t know their success would never drop off. All they knew was that they were part of something greater than themselves, and that they had a role to play in creating that story.
The heros of the league were shaped in the same system, the same gym. The years of winlessness are inextricably linked to the years of invincibility. The years between represent a tidal shift in the power balances of the league.
A century seems like a long time, but in a millennium or two, a lot gets lost to time. But I can guarantee you, without a doubt in my mind, that as long as the game of basketball is played, the mythic tale of the San Jose Basketball Team will be passed on.