I’ve spent a lot of time ranting about defunct sections of code I have to deal with and something a friend said recently gave me pause.
WWII Online development began in 1999, 8 years ago. The team was based around a core of people who had left the WarBirds project when cornered by Wild Bill to move to North Carolina or find work elsewhere. Cornered Rats fight back.
After launch there were several hard-hitting layoff sweeps. These weren’t pre-emptive culls and so sometimes the baby lost an arm or a leg with the bathwater. There are folks who’ve been let go who’s loss has hurt the company or not benefited it: Mo, Snail, Bloo (thank god he’s back), Thunder…
Some of the early hires were either just not up to the job or insufficiently trained. I can’t tell you which it is, and it doesn’t matter. The mixture of elephant:expert did not allow the expertise the company had to shine and the product launched a shambles.
Reading my blog and seeing me gripe about whole systems you might get the impression of a system that is utterly inoperable.
But its not like that. This application is a highly complex set of systems. There are naturally very few direct paths, especially in the early ways when the designs wanted so many open doors to future possibilities.
Some of the elephant code isn’t bad, it just does something in particular that isn’t neccessarily what it ought to be.
There are sections of code, data and APIs which are organized just so; in some way they encapsulate everything you could need to know about a system – but you might preclude the possibility of “users” deriving information about your system that is essential to them, either of which leads to duplication.
At the same time, because the code was written in C, they also like to occasionally surprize you with some sneaky API-bypassing backdoor they wrote just to avoid having to ask one of the experts how to get or do something.
This stuff is far from prevalent, though there was enough of this stuff at launch to hamstring the project, and the coders were granted the treatment as artistes rather than as deliverers of quantifiables.
Yet, despite all of that, the people I’m lucky enough to work with (and all of those who’ve worked here in my time) have managed to keep it more than just afloat. At launch, the elephant work might have accounted for 20% of the project and would, IMHO, have sunk any other team.
Now it might be around 5-10% of the project. It just happens to be strategically positioned for maximum inconvenience and getting it out can be a real pain in the ass.
It’s not the highroad on which the game is built, its more like the occasional un-guardrailed, crumbling hairpin of Death Road.
This is an excellent team; I’m honored to be working with these guys, even if the bad they have inherited earns more mention than their own work and the good stuff that ex-Rats contributed.
Martini, Rickb and Ramp are Grade-A programmers, our production team and artists may appear slow and lumbering, but if you factor in the toolset and production pipeline that was seriously elephanted … what they do is quite staggering.
Before I joined CRS, during the last months of beta, I’m on record as saying I didn’t think CRS could pull it off – and the predictions and extrapolations I made were valid, because my sphere of interest overlapped with elephant territory a lot. They didn’t quit pull it off, but they had a power-core in there that mean’t they also didn’t fail.
The elephants are long gone, although sadly some lions too. But you could build some damn fine gaming with these folks. I hope at some point we’ll get the chance to prove it.