Long overdue update
It's been nearly 3 weeks since my last update. A lot has happened since then...
The big change has been my day job. I've been interviewing with several companies, most notably Microsoft. After my recent foray into the world of startups, I realized that I needed to be back in the game business (like I was before). So I interviewed with MS and got an offer to work in their game division - I'll be working on tools to support XBox 360 game development!
The day after I got the offer, I left my miserable job at the startup. I'm now in the midst of a two-week between-job vacation!
Needless to say, this has given me plenty of time to work on Fencing Time! Over the past week I've spent a lot of time working on new round types. My initial plan was to simply implement the "fence off for third" option in the standard DE rounds. Well, this led into the larger problem of how to link together multiple elimination trees. (Fence-off for 3rd is essentially the addition of a second DE tree to the DE round - a tree with a single bout in it.) I solved that problem, which is really key because the same code will be used in repechage rounds, which are essentially rounds that contain several DE trees linked together with the "repechage rules".
At that point, the floodgates opened and I started refactoring the code extensively to use the new tree-linking data. I moved a lot of code around and created the classes needed for all the repechage rounds. Doing all this made me realize that I had hit on a really good design - a lot of existing features won't need to be re-coded to work in repechage rounds. Things like competitor withdrawal, which normally would be a complex task, now works identically to how it does in all other DE rounds.
I still have a few loose ends to tie up with the fence-off-for-third feature, but once that's done in the next couple days, I'll finally turn to fully implementing repechage. After that, "all-places-fenced" rounds shouldn't be much harder to implement.
Once I'm done all the new round stuff, I'll probably turn my attention to some user-interface enhancements. We'll see how things progress over the next few weeks...
