These are the ramblings of a Hovis-deprived British expat, known to most as Oliver Smith but to a select few as “kfsone” (which isn’t pronounced “KiF Sony”, but “K.F.S.1”). In 2002 I came to America to work for WWII Online in Texas, but in 2012 I bade farewell to Cornered Rat Studios and helped Blizzard Entertainment to unleash the Pandas.
Online games have always been a passion of mine, and I try to blot out the memory of the bleak period between where I was born and folks finally started making them happen.
Around 1983, aged 12, I declared my intention to learn how to write controller software for robots for the day when NASA would send robots to Mars. Erh, and then I discovered Essex MUD, and changed my mind. Lacking the funds to buy a PDP or anything near as powerful, I set about learning to write a MUD system myself, and as soon as I got a machine powerful, writing a multi-tasking operating system to run it. Richard Bartle was kind enough not to laugh out loud when I was given the opportunity to show it to him, aged 14.
By the age of 15 I’d realized that these Games-With-Lots-Of-People-In-At-The-Same-Time would need better modems or something. So I got into bulletin boards, created some networking software for BBS-PC!, and then discovered FidoNet, and started a project with a consortium of international sysops working on a design for an Amiga-based packet switched network over which BBSs could run.
Fortunately I stumbled on KA9Q, which although I didn’t understand, left me confident that by the time I was ready to work on games, there’d be a way for us all to communicate.
Then I sorta screwed up. My college lecturer defied me to find a job as a programmer with a real company, and I did. I spent the next 4 years as an on-site, bespoke, business systems programmer.
Wondering if my network was ready yet, in 1992 I started looking into where this “Internet” thing was, that I’d heard mention of during my look at KA9Q back in 88. I managed to get the editor of PC World on the phone, who told me a company called Demon was launching its Internet business that very day. It was two days before I could get through to them, and when I did, I had a plan in mind. I told the guy on the phone that I had a MUD system on the Amiga that I wanted to make available on their “FPT” site, and could he tell me where to find the protocol definitions for TCP/IP so I could write a stack for the Amiga?
Demon started as a software company. A month later I was working there as a business systems programmer, and less than a week later was actively programming on a couple of accounts, and by the end of the month the lead programmer on those accounts.
Somewhere during the next year I learned Perl, and after a year I moved into the Internet side of the company and began an 8 year journey through networking, management, etc.
I discovered WarBirds while at Demon, an online WWII-based flying game not dissimilar to AirWarrior, and not long after (this was circa 95-96) created “WarBirds.org”, which I am told was one of the first “fan portal” sites, featuring email redirects, web URL redirects, squad mailing lists, etc, all for free.
Online games were finally starting to emerge. I never bothered with UO, I was waiting for 3D. I got sucked into EQ, and then I went to just about every other 3DMMO that came out.
On the one hand I was humbled by the challenges and obstacles that EQ, DAoC, etc were overcoming, but on the other hand I could also understand what they were doing, and often why either technically or in dev terms. Nearly every project I beta tested I wound up having regular direct/personal contact with members of the dev team, and even developed toolsets for a couple of projects, like the DAoC Player Wishlist, which earned me an ecstatic call from Mark Jacobs.
The Internet/InterNIC’s Mark Kosters had tried to hire me for SAIC, but I was a couple years of experience short of getting the work permit. I left Demon and went to work for a bunch of media companies, including The Guardian.
During this time I’d been playing and testing WWII Online, and had gotten bold with my combined development and gaming experience, and had excelled at finding obscure bugs, suggesting solutions to which the coders frequently said “Huh, that’ll work”, and on several occasions predicting dire outcomes of paths the company was choosing which proved first to be wrong and then after the patch-buzz had died down, to be horribly accurate.
Finally (and frustratingly, on the first day of a new job), Chris “MO” Sherland challenged me to put my code where my mouth was. I flew out, met the gang, seemed to get the team and the way things were done, asked for a salary lower than the amount of tax I was paying in the UK, and got the job.
My experience has lead me to some unusual programming practices, an assortment of which I picked up by not just fixing code but asking “why did they get this wrong”? and “why wasn’t this noticed” and I’ve learned to curb my natural “just rattle it out” instincts in favor of writing code that will take longer to write, but much less time to debug.
I like to think the proof behind the theory lies in the projects I’ve left behind: The software that ran the business at my first job for 15+ years after I left, without any maintenance; the re-factored thttpd that ran Demon Internet’s customer-websites for so many years; and the WWII Online game servers which continually increased in complexity while gaining stability, manageability and maintainability and, so far as I know, are being run and operated without great difficulty by a non-engineering team, something unimaginable with the systems I started with.