The following is written by myself and Babarfloyd about ComputerSims Baseball, the successor to the CSFBL. Some longtime CSFBL users might already know this information, but I know we have many new users around as well. Also Babarfloyd posted his parts as comments to other blog posts, so they may have been missed.
Here it goes…
Question – What is ComputerSims Baseball?
Chris G. - To put it simple, ComputerSims Baseball is what the CSFBL should have been from the start. It is a complete rewrite of the game that is designed to be much faster simming, more features, more flexibility, better stability, and better scalability. Many of the issues that you see in today’s CSFBL are going to be eliminated by the new game.
Question: Why a rewrite? I love the current game!
Chris G. – The current CSFBL is designed for just one tenth of the traffic it has today (mostly due to Brian having no idea the CSFBL would get this popular). It simply has reached the breaking point (and some might argue, exceeded it). All the recent sim problems with the CSFBL are the result of this old and poorly written code. Not to mention, there are many quirks in the game (stealing logic and base running logic for example) that drive everyone crazy and are long overdue to be rewritten. Finally, there are a lot of features we would like to add, but simply can’t (or can’t easily) in the current game.
Question: That could be an opportunity for donations as well. There was talk that not every league would be migrated over to the new engine, so maybe only leagues that contribute a certain amount can go?
Babarfloyd: I doubt we will be porting over leagues that have low ownership but I’m pretty sure most leagues will be ported over. I’m pretty sure Brian already wrote some code that will port leagues over.
Question: What sort of features will be in ComputerSims Baseball?
- It will sim one play at a time per game then go on to the next game and sim one play and so on. This will allow you to “watch” any game in real time and it will also allow you to “manage” in real time. You will be able to show up in the 3rd inning and manage until you have to leave or until the end of the game. When you are not there to manage or you are there but you aren’t making any decisions in the allowed time (maybe 30 seconds between plays) the sim will use your default manager options.
- Much much much faster and more reliable
- The stealing logic and base running logic is GREATLY improved.
- There will be more manager options, too. Things like I mentioned above (hit and run, run and hit, double/triple steals, etc) plus things like defense positions (double play depth, guard the lines, infield in, deep outfield, shifts, etc).
- We are planning on allowing tournaments and head to head exhibition games at any time between 2 owners or you against the CPU. There will be options to use any team from your franchise (pick the year) or create your own team from any players from any year in your entire Franchise history…basically a Franchise All-Star Team.
- Another feature would be to schedule league games. Say the next sim is scheduled at noon and my team is going to play Realm’s. We will have up to 11:59 to reschedule the game between noon and 2:00 so that we could mange in real time against each other.
- There will be a live draft with a queue like we did for Moneyball. You will have the option of creating a new league and having a live draft instead of just populating 24 teams with players.
- Pinch hitting, pinch runner, and double switches (leagues/divisions will have the option of being DH or no DH) will be part of the CSBB.
- Since we are going to allow pitchers to hit, we need to generate batting stats for pitchers now. In fact, we are going to generate batting, pitching, and defensive stats for every player. This will allow teams to throw in a backup LF to pitch in blowout games. Of course this will up the chance of him getting hurt if his pitching stats are poor, which most of them will be, but it’s going to be an option.
- We are also going to have 3 levels of minors: AAA, AA, A. It’s been suggested before and I’m not sure if we’ve agreed on this but it might be possible to switch regular players over to pitchers (it’s done a lot in real life quote a bit).
- The draft architecture will allow us to easily add a Rule 5 draft and a Contraction/Expansion draft. We don’t plan on adding either of these features for the first release, though, and they will be a per league option.
- Contraction/Expansion will be easier to implement in the new game because the new design of the draft can be used for this. I doubt it’ll be available in the first release, though.
- We planned on allowing leagues with 18 teams all the way up to 32 teams…I think, I’m not positive of the numbers but I know there will be different sizes available.
- There will be the ability to trade draft picks and to rate/comment other players on their trading (ebay style ratings). The hope is this will help establish a paper trail that people can follow if they are worried about the person they are trading with. It will also making it much harder for cheaters to get away with lopsided trades.
Question: How fast is the new sim engine that will make up ComputerSims Baseball?
Chris G.: Babarfloyd previously told me that he has simmed a single game in 3 one-hundredths of a second with the new sim engine, while the current CSFBL sims a single game every 5 seconds. Keep in mind that this sim engine is pretty simple at the moment, but even when it is fully written it should easily sim a single game in less then a second…a huge improvement over the current game.
Babarfloyd:CSFBL sims thousands of games every 3 hours and it sims a full game in about 5 seconds and then goes on to the next game. CSBB will have the ability to sim thousands of games at the same exact time and have them all done in under 60 minutes.
Question: When will ComputerSims Baseball be ready?!?!?!
Babarfloyd: Not sure, but we have been making great progress on SimpleSim, the precursor to CSBB. SimpleSim is a simple baseball engine that we’re using to see what works and what doesn’t. For example, a few weeks ago I ported over the Steal Logic from CSFBL and realized there was no way it was going to work with CSBB. I spent a week tinkering with it and then got everyone up to speed on it during our weekly dev chat. Harborpirate took over at that point and reworked it all to fit in with the new architecture. In CSFBL a steal is a full play. The guy steals and either makes or he’s thrown out…that’s it…no hit and run, not run and hit, no double steals, triple steals, runners going on 2 outs, etc. Harborpirate fixed all that and now all of that is possible in CSBB.
Harborpirate also wrote a killer algorithm for base running logic and we’ve been playing around with it for the last week. It is a huge upgrade from CSFBL. Most runners will score from second on a single to the outfield and faster runners will have a better chance of scoring from first.
I’ve been working on creating xml files that contain full rosters for teams. Right now SimpleSim only loads 10 players per team (9 for the lineup with a DH and 1 pitcher). Then I need to code in loading the full rosters to the bench and bullpen.
Chris G: I hope that sometime in 2007, we will have something real to show you all. No promises of course, but that is my hope (and I think all of our hopes)!
Brian: When it is ready!