I've been blogging here regularly (weekly) for a couple of months now, and I'm starting to run short on server design ideas. Please do suggest topics by commenting below. :)
In the meantime, since I aim to do something useful for the text gaming community, I've decided to go technical with the next few blog entries, to cover the technical topics essential to building a client. I'll then supplement that hand-waving with some solid code samples. You may argue that anyone with moderate programming skills (say your average Computer Science student) could build a basic MUD client by piecing-together sample code and platform (Windows, .NET, Linux, Unix) documentation. I agree, but it's been my experience that information is sometimes difficult to find, especially when one doesn't know the right buzz words or technical terms to search for. Worse, much of the available info is intimidatingly old school - RFCs written in the early 80's, socket code in C, and sample projects that won't build in modern IDE's without some modification. This may mean some potential community contributors could face a lot of challenges just trying to get the basics out of the way, and I don't want anybody's passion for text games to fade on the learning curve.
I've been coding a client in C# on top of .NET (Microsoft's managed code platform) and WPF (Windows Presentation Foundation, designed for building a modern user interface), but I think dumping a giant pile of half-baked code on the internet won't help anybody. Instead, I'm starting a new project at CodeProject.com, where I'll implement only the necessities - managing client/server connections, participating in Telnet handshaking and negotiation, supporting ANSI color, and reading MSDP (MUD Server Data Protocol) messages.
I'll discuss the topics here as I progress, and I hope those of you with motivation to design a modern MUD client will have all the information and sample code you need to start building something amazing.