First, let's get something straight.

I never set out to write a MUD codebase.


Heck, it wasn't even my idea. Here's how it started.

Many years ago a fellow developer and close friend of many years found herself in a dead-end job working for the state. She would do anything to get out of it, but she felt she lacked the job skills to put together an attractive resume. Java was HOT at that time (has it cooled off in 6 years?), and she talked about teaching herself that programming language to the end of making herself more marketable in the job market.

At this time, I was a Java developer working for a start-up company, so I offered to teach her Java. Big Mistake -- but I'm getting ahead of myself. I told her that, in my opinion, Doing was the best way to Learn. I told her that one should simply dive in to a coding project in the new language to learn it. So she, myself, and another friend who was along for the ride put our heads together. The third friend came up with the idea: Let's Code a MUD! We had all played ROM in college, and thought it was a great idea. We agreed to proceed with a Java MUD project. There was clearly some confusion about what this meant exactly. I had in mind a codebase from scratch, and so that's what I did.

I sat down and wrote CoffeeMud. It was fun. A week went by, I showed off my progress, brushed aside questions about Java, and spoke excitedly about what more could be done. So I sat back down and wrote more CoffeeMud. It was even funner. More weeks went by, I showed off my progress but noone was looking. I spoke excitedly about things to come, and noone was listening. I taught nothing. Noone learned anything. Oblivious to it all, I was having a blast.

So, you see, CoffeeMud started very modestly and with great confusion.

In the coming months, the start-up company I worked for began to wind down. They kept me on the payroll, and gave me very little to do. I worked on CoffeeMud, soliciting the help of coworkers when I could. Pretty soon version 1.0 was ready.